JavaでREPLっぽいこと #java

これはJava Advent Calendarの24日目。
ちょっとしたことだけど、Javaを始めたばかりの人には参考になるかもしれないので。


Javaに標準でREPLはない。
自分がJavaでちょっとしたプログラムを試すときに何を使っているかというと、JUnitのテストを作成して実行している。
mainメソッドでやろうとすると、結構面倒。

  • 毎回mainメソッドの中身を書き換える
  • または、試した内容を取っておこうと思うと、試したいことごとにstaticメソッドを作成して、mainの中で呼び分けなければいけない

以下のような感じ。

public class Sample {
	public static void main(String... args) {
		// a();
		b();
	}

	private static void a() {
		// 試したいことA
	}

	private static void b() {
		// 試したいことB
	}
}


JUnit版は以下。

public class SampleTest {

	@Test
	public void a() {
		// 試したいことA
	}

	@Test
	public void b() {
		// 試したいことB
	}

}

こちらの方が、mainからの呼び分けも必要ないし、テストメソッド内からprivateなメソッドを呼ぶことがあってもいちいちstaticにしなくてもよい。

ちなみに自分がこれで一番使っている用途は、TwitterAPIを叩くこと feat. Twitter4J。
明日はいよいよ最終日。担当は taczge さんです。


PS.