JUC(7)四大函数式接口

网友投稿 792 2022-09-03

JUC(7)四大函数式接口

JUC(7)四大函数式接口

文章目录

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

​​1.1 function​​​​1.2 Predicate​​​​1.3 Consumer​​​​1.4 Supplier​​

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

1、lambda表达式2、函数式接口3、链式编程4、stream流式计算

函数式接口:只有一个方法的接口

@FunctionalInterfacepublic interface Runnable { public abstract void run();}

超级多的FunctionalInterface简化编程模型、在新版本的框架底层大量应用foreach(消费者类型的函数式接口)

1.1 function

package com.function;import java.util.function.Function;/** * Function 函数型接口、有一个输入参数,有一个输出 * 只要是函数式接口 就可以使用lambda表达式简化 */public class FunctionDemo { public static void main(String[] args) { Function function = new Function(){ @Override public String apply(String str) { return str; } }; System.out.println(function.apply("hello world")); }}

lambda简化

package com.function;import java.util.function.Function;/** * Function 函数型接口、有一个输入参数,有一个输出 * 只要是函数式接口 就可以使用lambda表达式简化 */public class FunctionDemo { public static void main(String[] args) {// Function function = new Function(){// @Override// public String apply(String str) {// return str;// }// }; Function function = (str)->{return str;}; System.out.println(function.apply("hello world")); }}

1.2 Predicate

package com.function;import java.util.function.Predicate;/** * 断定型接口:有一个输入参数,返回值只能是布尔值 */public class PredicateDemo { public static void main(String[] args) {// Predicate predicate = new Predicate() {// @Override// public boolean test(String str) {// return str.isEmpty();// }// }; Predicate predicate = (str)->{return str.isEmpty();}; System.out.println(predicate.test("")); }}

1.3 Consumer

举例子

package com.function;import java.util.function.Consumer;/** * Consumer 消费性接口:只有输入,没有返回值 */public class ConsumerDemo { public static void main(String[] args) {// Consumer consumer = new Consumer() {// @Override// public void accept(String str) {// System.out.println(str);// }// }; Consumer consumer = (str)->{ System.out.println(str); }; consumer.accept("hhh"); }}

1.4 Supplier

例子

package com.function;import java.util.function.Supplier;/** * Supplier 供给型接口,没有参数,只有返回值 */public class SupplierDemo { public static void main(String[] args) {// Supplier supplier = new Supplier() {// @Override// public Integer get() {// return 1024;// }// }; Supplier supplier = ()->{return 1024;}; System.out.println(supplier.get()); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JUC(4)Callable和常用的辅助类
下一篇:PHP 使用Echarts生成数据统计报表详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~