什么是函数式接口?
函数式接口(Functional Interface)就是有且仅有一个抽象方法,但是可以有多个非抽象方法的接口
四大函数式接口分别是?
Supplier Consumer Function Predicate
Supplier 供给型接口
特点:无参数,有返回值
注:通过get方法获取返回值
public static void main(String[] args) {
Supplier<Integer> supplier = ()->{return 1024;};
System.out.println(supplier.get());
}
Consumer 消费型接口
特点:有参数,无返回值
注:通过accept方法传入参数
public static void main(String[] args) {
Consumer<String> consumer = System.out::println;
consumer.accept("hello");
}
Function 函数型接口
特点:有参数,有返回值
注:通过apply方法传入参数
public static void main(String[] args) {
Function<Integer,Integer> function = (num)->{return num + 100;};
System.out.println(function.apply(1));
}
Predicate 断定型接口
特点:有参数,有返回值,但返回值为布尔类型
注:通过test方法传入参数
public static void main(String[] args) {
Predicate<String> predicate = String::isEmpty;
System.out.println(predicate.test(""));
}