ラムダが導入されないため、個人的ながっかり感が大きなJava 7ですが無事リリースされたみたいです。個人的には以下の機能が気に入ってます。
- 例外のマルチキャッチ
- catch (HogeException | MogeException ex) { ... }
- 例外の再送
- (final Throwable t) { ...; throw t; }でメソッド宣言にthrows Throwableがいらない!
- ジェネリックの型推論
- 大体の言語が左辺値の型の記入を省略できるようにしてる中Javaは右辺を省略するアプローチ。
- Map
m = new HashMap<>();
- リソースの確実な解放(Closableインターフェース)
- try (FileStream fs = new FileStream(...)) { ... }
- 今まではtry catch finallyが必須だったよね
- NIO2
- ファイル扱う時に凄い便利な小物が沢山
- Fork/Joinフレームワーク
- MapReduceパターン的なことをやりやすくしてくれるライブラリ。
大体の機能がC#やF#には、すでにあったよ〜的な感じなので、やっとかな・・・。という感じもあったりしますが、こういう慎重に進化をしていくのがJavaらしさなのかな。
Java8でのラムダに期待!