第7章 Nashorn JavaScript エンジンの活用 : 問題 1 : jjs で Java のクラスを試す
問題
例えばZonedDateTime
クラスなど、試してみたい Java API を選んで
- オブジェクトの生成
- メソッドの呼び出し
- 戻り値の表示
など、jjs を使った実験を行え
解答
■ オブジェクトの生成
ZonedDateTime
クラスにコンストラクタはないので、ファクトリメソッドで
jjs> java.time.ZonedDateTime.parse('2007-12-03T10:15:30+01:00[Europe/Paris]') 2007-12-03T10:15:30+01:00[Europe/Paris] jjs> now = java.time.ZonedDateTime.now() 2015-11-17T15:41:33.144+09:00[Asia/Tokyo]
■ メソッドの呼び出し、戻り値の表示
ZonedDateTime
クラスのメソッドは全て戻り値があるので、呼び出した結果を即表示する
jjs> now.getZone() Asia/Tokyo jjs> now.zone Asia/Tokyo jjs> now.month NOVEMBER jjs> now.monthValue 11 jjs> now.plusDays(-17) 2015-10-31T15:41:33.144+09:00[Asia/Tokyo]
さらに問題
jjs を使った実験は、Java でテストプログラムを書くより簡単か?
解答
Java 脳を JavaScript 脳に切り替えるのに少し時間が掛かるが、jjs を使った方が楽である
特に、getter/setter が C# のプロパティのように書けるのは癖になりそう