Java常用函数式接口总结

网友投稿 246 2023-01-02

Java常用函数式接口总结

四大函数式接口

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

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

@FunctionalInterface

public interface Runnable {

public abstract void run();http://

}

//超级多FunctionalInterface

//简化编程模型,在新版本的框架底层大量应用!

//foreach(消费者类型的函数式接口)

代码测试:

Function 函数式接口

package com.function;

import java.util.function.Function;

/**

* Function 函数型接口,有一个输入参数,有一个输出

* 只要是函数型接口 可以 用lahttp://mbda 表达式简化

*/

public class Demo01 {

public static void main(String[] args) {

//工具类:输出输入的值

// Function function = new Function() {

// @Override

// public String apply(String o) {

// return o;

// }

// };

//System.out.println(function .apply("asd"));

Function 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 predicate = new Predicate() {

// @Override

// public boolean test(String str) {

// return str.isEmpty();

// }

// };

Predicate 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 consumer = new Consumer() {

// @Override

// public void accept(String str) {

// System.out.println(str);

// }

// };

//函数式接口

Consumer 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 supplier = new Supplier() {

// @Override

// public String get() {

// System.out.println("Get");

// return "1024";

// }

// };

Supplier supplier = () ->{

return "1024";

};

System.out.println(supplier.get());

}

}

输出结果:1024

总结

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

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

上一篇:英国本地快递物流查询单号(英国快递单号查询系统)
下一篇:分析并发编程之LongAdder原理
相关文章

 发表评论

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