【学亮IT手记】Java 8新特性实例介绍

java8,也称为jdk1.8,于2014.03.18日发布,它支持函数式编程,新的js引擎,新的日期API,新的Stream Api等。

我们主要讨论以下几个新特性:

①Lambda表达式。

允许把函数作为一个方法的参数,函数作为参数传递进方法中。

②方法引用。

方法引用提供了非常有用的语法,可以直接引用已有的Java类或对象的方法或构造器。它与Lambda表达式联合使用,方法引用可以使语言的构造更加紧凑简洁,减少冗余代码。

③默认方法。

就是一个在接口里面有了实现的方法。

④新工具。

新的编译工具,比如:Nashorn引擎jjs、类依赖分析器jdeps。

⑤Date Time API

加强对日期与时间的处理。

⑥Optional类

是java8类库的一部分,主要用来解决空指针异常问题。

⑦Nashorn JavaScript引擎

允许我们在jvm上运行特定的js应用。

Java8的编程风格

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("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);
         }
      });
   }
   
   // 使用 java 8 排序
   private void sortUsingJava8(List<String> names){
      Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
   }
}

 

 

posted @ 2018-08-11 11:28  学亮编程手记  阅读(154)  评论(0编辑  收藏  举报