English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 (別名jdk 1.8)は、Java言語開発の主要なバージョンです。Oracle社は、 2014 年 3 日 18 月 8 、関数型プログラミングをサポートし、新しいJavaScriptエンジン、新しい日付API、新しいStream APIなどがあります。
Java8 非常に多くの機能が追加されましたが、以下のいくつかについて主に議論します:
ラムダ式 − Lambdaは、関数をメソッドの引数として受け取ることを許可します(関数をメソッドに引数として渡します)。
メソッドリファレンス − メソッドリファレンスは、非常に便利な構文を提供し、既存のJavaクラスやオブジェクト(例)のメソッドやコンストラクタを直接参照できます。lambdaと組み合わせると、メソッドリファレンスは言語の構造をよりコンパクトで簡潔にし、冗長コードを減少させます。
デフォルトメソッド − デフォルトメソッドは、インターフェース内に実装されたメソッドです。
新しいツール − 新しいコンパイルツール、例えばNashornエンジン jjs、クラス依存関係解析器jdeps。
Stream API − 新しいStream API(java.util.stream)が、Javaに本物の関数型プログラミングスタイルを導入しました。
Date Time API − 日付と時間の処理を強化しました。
Optional クラス − Optional クラスはJava 8 ライブラリの一部で、空指針例外を解決するために使用されます。
Nashorn, JavaScript エンジン − Java 8新しいNashorn JavaScriptエンジンを提供し、特定のJavaScriptアプリケーションをJVM上で実行することができます。
さらに多くの新機能については、公式サイトを参照してください:What's New in JDK 8
についての Java 8 の例では、すべてのjdkを使用しています 1.8 環境では、以下のコマンドを使用して現在のjdkのバージョンを確認できます:
$ 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、 ミックスモード)
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("w3codebox "); names1.add("Taobao "); names1.add("Baidu "); names1.add("Sina "); List<String> names2 = new ArrayList<String>(); names2.add("Google "); names2.add("w3codebox "); names2.add("Taobao "); names2.add("Baidu "); names2.add("Sina "); Java8Tester tester = new Java8Tester(); System.out.println("使用 "); 7 语法: "); tester.sortUsingJava7(names1); System.out.println(names1); System.out.println("使用 "); 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, w]3[Baidu, Google, w] Javaを使用して 8 構文: [Baidu, Google, w]3[Baidu, Google, w]
次に、Javaの詳細な紹介を行います 8 の新機能:
番号 | 機能 |
---|---|
1 | ラムダ式 |
2 | メソッドリファレンス |
3 | 機能的インターフェース |
4 | デフォルトメソッド |
5 | Stream |
6 | Optional クラス |
7 | Nashorn, JavaScript エンジン |
8 | 新しい日付と時間 API |
9 | Base64 |