Java7で実装されるはずだった多くの機能がようやくJava8が2014年3月18日(米国時間)にリリースされます。
Java8では、Java5で導入されたジェネリクス、列挙型、可変長引数、オートボクシング・アンボクシング以来の大幅な機能追加が行われています。
主な特徴としては、
・ラムダ式の導入
・関数型インターフェースの追加
・メソッド参照
・インタフェースのメソッドデフォルト実装
・コレクションクラスへのメソッド追加(ラムダ式で使用)
・新コレクションクラスStream APIの追加
・遅延評価、並列処理
・新たな日付処理APIの追加
その中でも個人的にはラムダ式とStream APIの追加に注目しています。
リスト内から'K'から始まる文字列を定型書式で出力。というのが、以下のように分かりやすく完結に実現できるなったからだ。
List codeNames = Arrays.asList("Ice Cream Sandwich", "Jelly Bean", "KitKat");
codeNames.stream()
.filter(s -> s.startsWith("K"))
.map(s -> "codename is [" + s + "]")
.forEach(System.out::println);
リリースが待ち遠しいですね。
by Ishikawa
Java8では、Java5で導入されたジェネリクス、列挙型、可変長引数、オートボクシング・アンボクシング以来の大幅な機能追加が行われています。
主な特徴としては、
・ラムダ式の導入
・関数型インターフェースの追加
・メソッド参照
・インタフェースのメソッドデフォルト実装
・コレクションクラスへのメソッド追加(ラムダ式で使用)
・新コレクションクラスStream APIの追加
・遅延評価、並列処理
・新たな日付処理APIの追加
その中でも個人的にはラムダ式とStream APIの追加に注目しています。
リスト内から'K'から始まる文字列を定型書式で出力。というのが、以下のように分かりやすく完結に実現できるなったからだ。
List
codeNames.stream()
.filter(s -> s.startsWith("K"))
.map(s -> "codename is [" + s + "]")
.forEach(System.out::println);
リリースが待ち遠しいですね。
by Ishikawa