定义:有且只有一个抽象方法
注解:@FunctionalInterface
函数式接口作为参数:Lambda表达式作为参数传递
函数式接口作为返回值:Lambda表达式作为结果返回
Supplier<T>
:结果供应商
指定类型,就能get此类型的值
方法:T get()
public static void main(String[] args) {
int i = doSupplier(()->123);
System.out.println(i);
}
public static int doSupplier(Supplier<Integer> s) {
return s.get() + 321;
}
Consumer<T>
:消费型接口
方法:
void accept(T t)
:执行操作
andThen(...)
:组合操作
public static void main(String[] args) {
doConsumer("wmh",System.out::println);
}
public static void doConsumer(String name, Consumer<String> con){
con.accept(name);
}
Predicate <T>
方法:
boolean test(T t)
:对给定的参数进行判断(判断逻辑由Lambda表达式实现,返回布尔值
negate()
: 返回一个逻辑的否定,对应逻辑非
and(Predicate other)
:返回一个组合判断,对应短路与
or(Predicate other)
:返回一个组合判断,对应短路或
Function<T,R>
通常用于对参数进行处理,转换(处理逻辑由Lambda表达式实现),然后返回一个新的值
方法:
Rapply(T t)
:将此函数应用于给定的参数
default <V> Function andThen(Function after)
:返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果