Java常用函数式接口有哪些

网友投稿 142 2024-02-02


Java常用函数式接口有哪些

本文主要介绍"Java常用函数式接口有哪些",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Java常用函数式接口有哪些" 文章。

四大函数式接口

新时代的程序员:lambda 表达式,链式编程,函数式接口,Stream 流式计算

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

@FunctionalInterface public interface Runnable {     public abstract void run(); } //超级多FunctionalInterface //简化编程模型,在新版本的框架底层大量应用! //foreach(消费者类型的函数式接口)

代码测试:

Function 函数式接口

package com.function; import java.util.function.Function; /**  * Function 函数型接口,有一个输入参数,有一个输出  * 只要是函数型接口 可以 用lambda 表达式简化  */ public class Demo01 {     public static void main(String[] args) {         //工具类:输出输入的值 //      Function function =  new Function<String,String>() { //            @Override //            public String apply(String o) { //                return o; //            } //        };         //System.out.println(function .apply("asd"));     Function<String,String> function= (str)->{return str;};     System.out.println(function.apply("asd"));     } }

输出结果:asd

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

package com.function; import java.util.function.Predicate; /**  * 断定型接口,有一个输入参数,返回值只能是布尔值!  */ public class Demo02 {     public static void main(String[] args) {         //判断字符串是否为空 //        Predicate<String> 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("asd"));     } }

输出结果:false

Consumer 消费型接口

package com.function; import java.util.function.Consumer; /**  * Consumer 消费型接口: 只有输入,没有返回值  */ public class Demo03 {     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("ssssssssssssssss");     } }

输出结果:sssssssssssss

list.foreach 其实也是用的Consumer,自己写的例子:

//有入参没有返回值         list.forEach(x->{             System.out.println(x);         });

有入参,没有返回值!

Supplier 供给型接口

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

输出结果:1024

总结

函数型接口 :有入参,又返回值断定型接口: 有入参,返回布尔值消费型接口: 有入参,没有返回值供给型接口: 无入参,有返回值

关于 "Java常用函数式接口有哪些" 就介绍到这。希望大家

Java编程技术

本文主要介绍"java过滤特殊字符的操作方法",希望能够解决您遇到有关问题,下面我们一起来看这篇 "java过滤特殊字符的操作方法" 文章。XSS ,全名:cross-site scripting(跨站点脚本 ...


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

上一篇:java接口如何定义与实现
下一篇:怎么在python中开发一个mock接口
相关文章

 发表评论

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