Javaの8の新機能
(また、JDK 1.8として知られている)は、Java 8は、Java言語のメジャーリリースです。 関数型プログラミングをサポートしている3月18日にオラクル・コーポレーション、2014年リリースのJava 8、新しいJavaScriptエンジン、新しい日付のAPI、新しいストリームAPIなど。
新機能
Java8は、我々は次のように焦点を当て、多くの機能を追加しました:
ラムダ式 -ラムダはメソッドにパラメータとしてメソッドに渡されたパラメータとして関数(関数を可能にします。
メソッドリファレンスは -参照方法は非常に便利な構文を提供し、あなたが直接、既存のJavaクラスまたはオブジェクト(インスタンス)メソッドまたはコンストラクターを参照することができます。ラムダとの組み合わせで、方法基準の設定は、冗長コードを減らすために、よりコンパクトで簡潔な言語とすることができます。
デフォルトのメソッド -デフォルトの方法はでインターフェイスメソッドを使用して実装されます。
新しいツール -新しいコンパイラツール、など:NashornエンジンJJS、クラス依存パーサjdeps。
ストリームAPI -新しいストリームAPI(java.util.stream)Javaへの導入、真の関数型プログラミングのスタイルを追加しました。
日付時刻のAPI -処理の日付と時刻を強化します。
オプションクラス -オプションのクラスは、nullポインタ例外を解決するために使用されるJava 8クラス・ライブラリーの一部となっています。
Nashorn、JavaScriptエンジン - Javaの8は、私たちはJVM特定のjavascriptのアプリケーションで実行することを可能にする新しいNashorn JavaScriptのエンジンを提供します。
:その他の新機能は、公式ウェブサイトで見つけることができますJDKにはどのような'は新8。
私たちはあなたがJDKの現在のバージョンを表示するには、次のコマンドを使用することができ、JDK 1.8環境を使用する例についてのJava 8の記事:
$ java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
プログラミング形式
Javaの8は、Java 7で、独自のプログラミングスタイルと区別がしたい、次の例では、Java 7およびJava 8のプログラミング形式を示しています。
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("Google "); names1.add("w3big "); names1.add("Taobao "); names1.add("Baidu "); names1.add("Sina "); List<String> names2 = new ArrayList<String>(); names2.add("Google "); names2.add("w3big "); names2.add("Taobao "); names2.add("Baidu "); names2.add("Sina "); Java8Tester tester = new Java8Tester(); System.out.println("使用 Java 7 语法: "); tester.sortUsingJava7(names1); System.out.println(names1); System.out.println("使用 Java 8 语法: "); tester.sortUsingJava8(names2); System.out.println(names2); } // 使用 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); } }); } // 使用 java 8 排序 private void sortUsingJava8(List<String> names){ Collections.sort(names, (s1, s2) -> s1.compareTo(s2)); } }
上記のスクリプトの実装、出力は次のようになります。
$ javac Java8Tester.java $ java Java8Tester 使用 Java 7 语法: [Baidu , Google , w3big , Sina , Taobao ] 使用 Java 8 语法: [Baidu , Google , w3big , Sina , Taobao ]
次に、我々は新機能のJava 8の詳細にあなたをブリーフィングします:
いいえ。 | プロパティ |
---|---|
1 | ラムダ式 |
2 | メソッド参照 |
3 | 関数インターフェース |
4 | デフォルトの方法 |
5 | ストリーム |
6 | オプションのクラス |
7 | Nashorn、JavaScriptエンジン |
8 | 新しい日付と時刻のAPI |
9 | Base64で |