Java 8 新特性

Java 8 (又稱爲 jdk 1.8) 是 Java 語言開發的一個主要版本。 Oracle 公司於 2014 年 3 月 18 日發佈 Java 8 ,它支持函數式編程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。 新特性 Java8 新增了很是多的特性,咱們主要討論如下幾個: Lambda 表達式 − 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引擎,它容許咱們在JVM上運行特定的javascript應用。 更多的新特性能夠參閱官網: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, 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;javascript

public class Java8Tester { public static void main(String args[]){java

List<String> names1 = new ArrayList<String>();
  names1.add("Google ");
  names1.add("Runoob ");
  names1.add("Taobao ");
  names1.add("Baidu ");
  names1.add("Sina ");
	
  List<String> names2 = new ArrayList<String>();
  names2.add("Google ");
  names2.add("Runoob ");
  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); } }); }ide

// 使用 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 , Runoob , Sina , Taobao ] 使用 Java 8 語法: [Baidu , Google , Runoob , Sina , Taobao ] (出自:菜鳥教程 )函數式編程

相關文章
相關標籤/搜索