美文网首页
7、四大函数式接口(必须掌握)

7、四大函数式接口(必须掌握)

作者: i小雨 | 来源:发表于2020-11-20 09:08 被阅读0次

    Function、Predicate、Consumer、Supplier

    函数式接口(Function):
    有一个输入参数,有一个输出值

    图片.png
    public static void main(String[] args) {
            Function function1 = new Function<String,String>() {
                @Override
                public String apply(String str) {
                    return str;
                }
            };
    
            Function function2 = (str)->{
                return  str;
            };
    
            System.out.println(function1.apply("abc"));
            System.out.println(function2.apply("ABC"));
        }
    ********************结果:**************************
    abc
    ABC
    

    断定型接口(Predicate):
    有一个输入参数,返回值只能是布尔值!

    图片.png
     public static void main(String[] args) {
            Predicate predicate1 = new Predicate<String>() {
                @Override
                public boolean test(String str) {
                    return str.isEmpty();
                }
            };
    
            Predicate<String> predicate2 = (str)->{
                return str.isEmpty();
            };
    
            System.out.println(predicate1.test("123"));
            System.out.println(predicate2.test(""));
        }
    ********************结果:**************************
    false
    true
    

    消费型接口(Consumer):
    只有输入没有返回值

    图片.png
    public class TestConsumer {
        public static void main(String[] args) {
            Consumer consumer1 = new Consumer<String>() {
                @Override
                public void accept(String str) {
                    System.out.println(str);
                }
            };
    
            Consumer<String> consumer2 = (str)->{
                System.out.println(str);
            };
    
            consumer1.accept("abc");
            consumer2.accept("ABC");
        }
    }
    ********************结果:**************************
    abc
    ABC
    

    供给型接口(Supplier):
    没有参数,只有返回值。

    图片.png
    public class TestSupplier {
    
        public static void main(String[] args) {
            Supplier supplier1 = new Supplier() {
                @Override
                public String get() {
                    return "200";
                }
            };
    
            Supplier supplier2 = ()->{
              return "404"  ;
            };
    
            System.out.println(supplier1.get());
            System.out.println(supplier2.get());
        }
    }
    ********************结果:**************************
    200
    404
    

    相关文章

      网友评论

          本文标题:7、四大函数式接口(必须掌握)

          本文链接:https://www.haomeiwen.com/subject/gbjliktx.html