Java四大函数式接口(Function、Consumer、Supplier、Predicate)_大大怪当码农的博客-CSDN博客_java四大接口

  • java.util.function , Java 内置核心四大函数式接口,可以使用lambda表达式

  • Function(函数型接口)

函数类型,有传入的参数,也有返回值,点进源码可以看出:

 其中T为参数,R为返回值

代码示例:

    public static void main(String[] args) {        //输出输入的数值        Function function = (str)->{            return str;        };        System.out.println(function.apply("hello"));    }
  • Consumer(消费型接口)

消费类型,即只支出没有收入(有传入参数,没有返回值),点进源码查看:

 只有传入的参数T,并没有返回值

代码示例:

    public static void main(String[] args) {        //Consumer<String> consumer = new Consumer<String>() {        //    @Override        //    public void accept(String str) {        //        System.out.println(str);        //    }        //};        //输出传入的参数        Consumer<String> consumer = (str)->{            System.out.println(str);        };         consumer.accept("hello");     }
  • Supplier(供给型接口)

供给类型,即只有返回值,没有参数,点进源码:

只有一个返回值T

代码示例:

    public static void main(String[] args) {        //Supplier<Integer> supplier = new Supplier<Integer>() {        //    @Override        //    public Integer get() {        //        System.out.println("get()");        //        return 1024;        //    }        //};        //输出程序员最喜欢的1024        Supplier<Integer> supplier = ()->{            return 1024;        };         System.out.println(supplier.get());    }

有输入也有返回值,但返回值类型为boolean,点进源码:

 T为参数,返回值为boolean

代码示例:

    public static void main(String[] args) {        //判断字符串是否为空        //Predicate predicate = new Predicate<String>() {        //    @Override        //    public boolean test(String str) {        //        return str.isEmpty();        //    }        //};        //判断字符串是否为空        Predicate<String> predicate = (str)->{            return str.isEmpty();        };         System.out.println(predicate.test("hello"));    }

搜索

复制


原网址: 访问
创建于: 2022-10-27 22:48:03
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论