かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

Java 7が出たみたいです!

ラムダが導入されないため、個人的ながっかり感が大きな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でのラムダに期待!