Java8常用函数式接口 Supplier 、Consumer、Predicate、Function总结

//无输入参数,返回T类型的一个结果。
new Supplier() {
    @Override
    public String get() {
        return null;
    }
};
Supplier supplier = () -> "Test supplier";
supplier.get(); //return String | Test supplier
 
//接受一个T类型的参数,无返回。
new Consumer() {
    @Override
    public void accept(String s) {
 
    }
};
Consumer consumer = (x) -> {
    System.out.println(x);
};
//Consumer consumer = System.out::println;
consumer.accept("Test consumer"); //void | 控制台打印 "Test consumer"
 
//接受一个T类型的参数,返回布尔值。
new Predicate() {
    @Override
    public boolean test(String s) {
        return false;
    }
};
Predicate predicate = x -> s.contains("predicate");
predicate.test("Test predicate"); //return boolean | true
 
//接受一个T类型的参数,返回R类型结果。
new Function() {
    @Override
    public Integer apply(String s) {
        return null;
    }
};
Function function = x -> "This is Integer:" + x;
function.apply(100); //return String | "This is Integer:100"

你可能感兴趣的:(Java学习)