函数式接口
...小于 1 分钟
函数式接口
函数式接口:当一个接口只有一个方法时,就称为函数式接口,可以使用Lambda表达式进行简化编码。java中根据入参和出参不同内置了四大核心函数型接口。
java内置四大核心函数式接口

Function
函数型接口,有入参有出参
可使用 :: 进行进一步简化
代码形式
//格式
x->{return x.getName();
//如流中的map
//格式1
List<String> newList = stuList.stream().map(x->{return x.getName();}).collect(Collectors.toList());
//格式1
List<String> newList = stuList.stream().map(Student::getName()).collect(Collectors.toList());
Predicate
断定型接口,有入参有出参,出参是布尔类型
//格式
x->{return x.getName().equals("wp");}
//如流中的filter
List newList = stuList.stream().filter(x->x.getName().equals("wp")).collect(Collectors.toList());
supplier
供给型接口,无入参有出参
//格式
()->{return "hello!"}
//如流中的集合转换collect
List newList = stuList.stream().filter(x->x.getName().equals("wp")).collect(Collectors.toList());
提示
可能感受不出来collect使用了函数式接口,当点开collect方法和Collectors.toList()即可知道
Consumer
消费型接口,有入参无出参
//格式
x->{x.setName("wp")}
//如foreach
listStu.stream().foreach(x->x.setName("wp"));
其他接口
