java8学习笔记二

1、Lambda有参数列表、函数主体 、返回类型、异常列表。
2、Lambda可以作为参数传递给方法,也可以存储在变量中
3、Lambda语法格式:参数 ->主题(图片转载自java8实战)

java8学习笔记二_第1张图片
image.png

(parameters) -> expression 或(parameters) -> { statements; }
4、Lambda用在函数是接口,即lanmbda表达式实际上是函数式接口的一个实现类。
5、函数式接口是:只定义了一个抽象方法的接口(不管接口有多少实现的默认方法,只要接口只定义了一个抽象方法,就是函数式接口)
函数式接口的注解:@FunctionalInterface 可用可不用,推荐使用,如果使用的话编译期间如果接口有多个抽象方法会提示该接口不是个函数式接口。
6、泛型只能绑定到 引用类型。这是由泛型内部的实现方式造成的。
7、类型推断简化代码:(Apple a)-> a.getColor().equals("green")
简化为 a -> a.getColor().equals("green") 类型声明可以省略
8、方法引用
(1) 指向静态方法的方法引用
(2) 指向任意类型实例方法的方法引用
(3) 指向现有对象的实例方法的方法引用

你可能感兴趣的:(java8学习笔记二)