近期重新回顾java8的一些特性,对一些小的知识点做了简单的整理,以备后面回顾查询使用:
以下是看到的一些优秀的博客
1、JDK8新特性:接口的静态方法和默认方法
2、JDK8新特性:函数式接口@FunctionalInterface的使用说明
3、Lambda表达式详解
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
对接口的要求
虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法
jdk 8 中有另一个新特性:default, 被 default 修饰的方法会有默认实现,不是必须被实现的方法,所以不影响 Lambda 表达式的使用。
注:在引用3中的 lambda 表达式引用方法这一节中,引用方法的参数和返回值定义的和接口中需要被实现的函数名描述符一致。
lambda表达式之方法引用
@FunctionalInterface
修饰函数式接口的,要求接口中的抽象方法只有一个。 这个注解往往会和 lambda 表达式一起出现。