Javaの次期メジャーバージョンアップバージョン「Java 8」に関する変更点の概要がまとめられていました(Java 8のすべて)。
ざっと読んでみて個人的に一番インパクトを受けたのは、インターフェイスの改善とラムダの導入でしょうか
インターフェイスの改善
Java 8では、インターフェイスにstaticメソッドと、デフォルトメソッドの定義が可能になるようです。インターフェイスにはメソッドを実装できないという、これまでの常識がここにきて覆されるとは思いませんでした。
デフォルトメソッドの定義に関して、InfoQの記事だとちょっとわかりづらいですが「Java8のインターフェースはメソッドのデフォルト実装を持てる話 - 裏紙」によるとほんとに普通にデフォルト実装をもてるようになるみたいです。
public interface Hello {
String sayHello(String name) default {
return "Hello, " + name + "!";
}
}
ひょっとしてすごく便利なのか?
ラムダの導入
ラムダの導入ももちろんインパクトが大きそうです。
(int x, int y) -> { return x + y; }
関数型プログラミングの要素を取り入れるのは最近の流行で、これもその流れにそったものだと思われます。継承を駆使してプログラミングしていくこれまでのスタイルが変わっていきそうですね。
すっかり枯れ切った印象のJava言語ですが、Java 8で大きな変更がまっているようです。Javaプログラマなら心の準備をしておきたいところですね(汗