JAVA 8是JAVA编程语言开发的主要功能版本.它的初始版本于2014年3月18日发布.随着Java 8的发布,Java提供了对函数式编程,新的JavaScript引擎,日期时间操作的新API,新的流API等的支持.
新功能
Lambda表达式 : 为Java添加功能处理功能.
方法参考 : 通过名称引用函数而不是直接调用它们.使用函数作为参数.
默认方法 : 接口有默认方法实现.
新工具 : 添加了新的编译器工具和实用程序,如'jdeps',以确定依赖关系.
Stream API : 新的流API,以方便管道处理.
日期时间API : 改进了日期时间API.
可选 : 强调正确处理空值的最佳实践.
Nashorn,JavaScript Engine : 用于执行JavaScript代码的基于Java的引擎.
请考虑以下代码段.
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[]) { Listnames1 = new ArrayList (); names1.add("Mahesh "); names1.add("Suresh "); names1.add("Ramesh "); names1.add("Naresh "); names1.add("Kalpesh "); List names2 = new ArrayList (); names2.add("Mahesh "); names2.add("Suresh "); names2.add("Ramesh "); names2.add("Naresh "); names2.add("Kalpesh "); Java8Tester tester = new Java8Tester(); System.out.println("Sort using Java 7 syntax: "); tester.sortUsingJava7(names1); System.out.println(names1); System.out.println("Sort using Java 8 syntax: "); tester.sortUsingJava8(names2); System.out.println(names2); } //sort using java 7 private void sortUsingJava7(List names) { Collections.sort(names, new Comparator () { @Override public int compare(String s1, String s2) { return s1.compareTo(s2); } }); } //sort using java 8 private void sortUsingJava8(List names) { Collections.sort(names, (s1, s2) -> s1.compareTo(s2)); }}
运行程序以获得以下结果.
Sort using Java 7 syntax:[ Kalpesh Mahesh Naresh Ramesh Suresh ]Sort using Java 8 syntax:[ Kalpesh Mahesh Naresh Ramesh Suresh ]
这里 sortUsingJava8()方法使用带有lambda表达式的sort函数作为参数来获取排序条件.