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

        //无输入参数,返回T类型的一个结果。
        new Supplier<String>() {
            @Override
            public String get() {
                return null;
            }
        };
        Supplier<String> supplier = () -> "Test supplier";
        supplier.get(); //return String | Test supplier

        //接受一个T类型的参数,无返回。
        new Consumer<String>() {
            @Override
            public void accept(String s) {

            }
        };
        Consumer<String> consumer = (x) -> {
            System.out.println(x);
        };
        //Consumer<String> consumer = System.out::println;
        consumer.accept("Test consumer"); //void | 控制台打印 "Test consumer"

        //接受一个T类型的参数,返回布尔值。
        new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return false;
            }
        };
        Predicate<String> predicate = x -> s.contains("predicate");
        predicate.test("Test predicate"); //return boolean | true

        //接受一个T类型的参数,返回R类型结果。
        new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return null;
            }
        };
        Function<Integer,String> function = x -> "This is Integer:" + x;
        function.apply(100); //return String | "This is Integer:100"

  

猜你喜欢

转载自www.cnblogs.com/sueyyyy/p/12095814.html
今日推荐