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