JDK1.8的新特性
这里简单说明几点:
(1)接口中支持默认方法和静态方法:
在jdk1.8之前,在接口中的方法都是抽象无法,是不允许有实现了,jdk1.8就支持实现了。
(2)函数式接口和Lambda表达式:
函数式接口(Functional Interface)是只包含一个方法的抽象接口。
在Java 8中通过@FunctionalInterface注解,将一个接口标注为函数式接口,该接口只能包含一个抽象方法。
@FunctionalInterface注解不是必须的,只要接口只包含一个抽象方法,虚拟机会自动判断该接口为函数式接口。一般建议在接口上使用@FunctionalInterface注解进行声明,以免他人错误地往接口中添加新方法,如果在你的接口中定义了第二个抽象方法的话,编译器会报错。函数式接口是为Java 8中的lambda而设计的,lambda表达式的方法体其实就是函数接口的实现。
“lambda表达式”是一段可以传递的代码,因为他可以被执行一次或多次。
(3)StreamAPI:
Stream是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。可以指定你希望对 集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。
(4)新的日期和时间 API:
Java8 引入了一个新的日期和时间API,位于java.time包下。
Java8中有两大最为重要的改变。第一个是 Lambda 表达式 ;另外一 个则是Stream API(java.util.stream.*)。
具体怎么玩转jdk1.8,此博客就不详细展开了。
关于1.8的特性了解可以参考:
《写给大忙人看的Java SE8》——Java8新特性总结:
https://www.cnblogs.com/justcooooode/p/7701260.html
JAVA8新特性[第四季]-强大的Stream API:
http://blog.csdn.net/liudongdong0909/article/details/77429875