Java 8-概要
JAVA 8 は、JAVA プログラミング言語開発の主要機能リリースです。その最初のバージョンは 2014 年 3 月 18 日にリリースされました。Java 8 リリースでは、Java は関数型プログラミング、新しい JavaScript エンジン、日時操作用の新しい API、新しいストリーミング API などのサポートを提供しました。
新機能
- <リ>
ラムダ式 − Java に関数処理機能を追加します。
<リ>メソッド参照 − 関数を直接呼び出すのではなく、名前で参照する。関数をパラメーターとして使用する。
<リ>デフォルトの方法 − デフォルトのメソッド実装を持つインターフェース。
<リ>新しいツール − 依存関係を把握するために、「jdeps」のような新しいコンパイラ ツールとユーティリティが追加されます。
<リ>ストリーム API − パイプライン処理を容易にする新しいストリーム API。
<リ>日時 API − 改善された日時 API。
<リ>オプション − null 値を適切に処理するためのベスト プラクティスを重視します。
<リ>Nashorn、JavaScript エンジン − JavaScript コードを実行するための Java ベースのエンジン。
次のコード スニペットを検討してください。
ライブデモimport java.util.Collections; import java.util.List; import java.util.ArrayList; import java.util.Comparator; public class Java8Tester { public static void main(String args[]) { List<String> names1 = new ArrayList<String>(); names1.add("Mahesh "); names1.add("Suresh "); names1.add("Ramesh "); names1.add("Naresh "); names1.add("Kalpesh "); List<String> names2 = new ArrayList<String>(); names2.add("Mahesh "); names2.add("Suresh "); names2.add("Ramesh "); names2.add("Naresh "); names2.add("Kalpesh "); Java8Tester tester = new Java8Tester(); System.out.println("Sort using Java 7 syntax: "); tester.sortUsingJava7(names1); System.out.println(names1); System.out.println("Sort using Java 8 syntax: "); tester.sortUsingJava8(names2); System.out.println(names2); } //sort using java 7 private void sortUsingJava7(List<String> names) { Collections.sort(names, new Comparator<String>() { @Override public int compare(String s1, String s2) { return s1.compareTo(s2); } }); } //sort using java 8 private void sortUsingJava8(List<String> names) { Collections.sort(names, (s1, s2) -> s1.compareTo(s2)); } }
プログラムを実行すると、次の結果が得られます。
Sort using Java 7 syntax: [ Kalpesh Mahesh Naresh Ramesh Suresh ] Sort using Java 8 syntax: [ Kalpesh Mahesh Naresh Ramesh Suresh ]
ここで sortUsingJava8() メソッドは、並べ替え基準を取得するためにパラメーターとしてラムダ式を含む並べ替え関数を使用します。
Java