函数式接口定义与理解

66 阅读1分钟

主要分四个接口

Consumer

消费型接口->有参数,无返回值。他只做事情,没有结果。

Supplier

供应型接口->没有参数,有返回值。

Function

功能型接口->有参数也有返回值

Predicate

断言式接口->返回值固定为boolean类型。有参数主要是判断用

代码示例

public static void main(String[] args) {

    // 消费性consumer->有参数,没有返回值。他只做事情,没有结果。
    Consumer<String> s1 = System.out::println;
    s1.accept("111");


    // 供应型Supplier->没有参数,有返回值
    Supplier<Integer> s2 = () -> {
        return new Random().nextInt(10);
    };
    System.out.println(s2.get());
    
    
    //功能性Function->有参数也有返回值
    //String->Integer
    Function<String, Integer> s3 = Integer::valueOf;
    System.out.println(s3.apply("123123"));
    
    
    // 断言式Predicate->返回值固定为boolean类型,有参数 主要是判断用
    Predicate<String> s4 = (String s) -> s.equals("111");
    System.out.println(s4.test("111"));
}
```
```