Latest web development tutorials

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で