本文最后更新于 894 天前,其中的信息可能已经有所发展或是发生改变。
什么是函数式接口
- 只包含一个抽象方法的接口,称为函数式接口。
- 可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。
- 可以在任意函数式接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。
@FunctionalInterface
public interface MyFunc<T>{
public T getValue(T t);
}
作为参数传递 Lambda 表达式
代码语言:javascript复制public void fun(List<Person> list,MyFunction<Integer,Integer> mf){
list.forEach(p->p.setAge(mf.getValue(p.getAge(),10)));
}
fun(fastPersonList,(i1,i2)->i1 i2);
Java内置四大核心函数式接口
Post Views: 343