2.函数式接口

2022-06-28 19:49:29 浏览数 (1)

本文最后更新于 894 天前,其中的信息可能已经有所发展或是发生改变。

什么是函数式接口

  • 只包含一个抽象方法的接口,称为函数式接口。
  • 可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。
  • 可以在任意函数式接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。
代码语言:javascript复制
@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

0 人点赞