2024/3/19にJava22が出たので、例によって調査。
今回の目玉は無名変数。
tryで「_」が使えるようになったのは嬉しい。
それと、複数ファイルソースコードの実行。
単一のソースファイルをjavaコマンドで直接実行することは以前から出来ていたけど、今回、複数のソースファイルを参照してくれるようになった。
(ちなみに単一のソースファイルから直接実行って、Java11からだったんだなぁ。もっと最近かと思ってた^^;)
それと、一部の人にとって待望のForeign Function & Memory APIがついに正式版になったようだ。
自分個人としては使う機会があるかどうか分からないけど^^;
Java22ではプレビュー版の機能がかなり多い。
しかも、今回新しく追加になったプレビュー版機能もなかなか期待大。
- super()・this()の前に文を書けるようになる
- ちょくちょくコンストラクターのsuper()の前に計算式を書きたいことがあるので、とても嬉しい。
- Stream Gatherersクラス
- Streamの終端処理のcollectメソッドのように、中間処理用のgatherメソッドが新設される。そこに渡すのがGatherersクラスのメソッド。ウィンドウ処理は欲しかった人が居そう。
- Class-File API
- JavassistやASM・BCELでclassファイルをいじっていたのを、標準APIで用意するらしい。ちょっと試してみたいが、いまいち使い方が分からないorz
(翌日追記)
Class-File API使ってみた。なかなか楽しいw