1. 函数式接口的理解
根据重构的思想,需要把容易变化的模块进行抽象并封装起来,从这个点来看,Java8新引入的函数式接口就是基于这个思想进行设计的。
2. 函数式接口定义
2.1 自定义如下
需要FunctionalInterface关键字显示声明:
@FunctionalInterface
public interface AppleInterface {
public void test();
}
2.2 系统预定义
java.util.function.Consumer;
java.util.function.Function;
java.util.function.Predicate;
java.util.function.Supplier;
可以去查看源码了解具体的细节,这几个接口包括了常用的一些场景,一般可满足需要
3. 函数式接口的使用
函数式接口一般使用前需要先定义,也可以使用系统预定义的几个函数式接口
函数式接口的使用和使用一个变量没有区别,显示声明定义,格式如下:
FunctionInterface interface=null;
这里的interface虽然看起来是一个变量,可是实际却是一段行为代码,用于执行具体的业务逻辑,可以自由在方法接口间传递,也可以直接执行
interface.doSomeThing();
如定义函数式接口为参数的接口:
public void filter(FunctionInterface interface)