①. 函数式接口的概述
①. 如何检测一个接口是不是函数式接口呢?(函数式接口:有且仅有一个抽象方法的接口)
@FunctionalInterface
放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败
②. 注意
我们自己定义函数式接口的时候,@FunctionalInterface 是可选的,就算我不写这个注解,只要保证满足函数式接口定义的条件,也照样是函数式接口。但是,建议加上该注解
如果方法的参数是一个函数式接口,我们可以使用Lambda表达式作为参数传递
②. Supplier 没有参数,只有返回值
- ①. T get( ):获取结果
- ②. 该方法不需要参数,它会按照某种逻辑(由Lambda表达式实现)返回一个数据
- ③.Supplier
<T>
接口也称为生产型接口,如果我们指定了接口泛型是什么类型,那么接口中的get方法就会生产什么类型的数据供我们使用