Skip to content

函数式接口

一、函数式接口概述

定义:有且只有一个抽象方法

注解:@FunctionalInterface

函数式接口作为参数:Lambda表达式作为参数传递

函数式接口作为返回值:Lambda表达式作为结果返回

二、Supplier接口

Supplier<T>:结果供应商

指定类型,就能get此类型的值

方法:T get()

java
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接口

Consumer<T>:消费型接口

方法: void accept(T t):执行操作 andThen(...):组合操作

java
public static void main(String[] args) {
        doConsumer("wmh",System.out::println);
}
public static void doConsumer(String name, Consumer<String> con){
    con.accept(name);
}

四、Predicate接口

Predicate <T>

方法: boolean test(T t):对给定的参数进行判断(判断逻辑由Lambda表达式实现,返回布尔值 negate(): 返回一个逻辑的否定,对应逻辑非 and(Predicate other):返回一个组合判断,对应短路与 or(Predicate other):返回一个组合判断,对应短路或

五、Function接口

Function<T,R>

通常用于对参数进行处理,转换(处理逻辑由Lambda表达式实现),然后返回一个新的值

方法: Rapply(T t):将此函数应用于给定的参数 default <V> Function andThen(Function after):返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果

Released under the MIT License.