java8新特性-lambda
Posted 豆莱浆渠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8新特性-lambda相关的知识,希望对你有一定的参考价值。
1.java类型系统内建函数式接口
(1) java.lang.Runnable
(2) java.lang.Comparable
(3) java.lang.Comparator
(4) java.io.FileFilter
(5) more....
(6) java.util.function.Predicate<T>
接收参数对象为T,返回一个boolean类型结果
Predicate<String> predicate = (String username) -> { return "admin".equals(username); }; System.out.println(predicate.test("admin"));
(7) java.util.function.Customer<T>
接收参数为T,不返回结果
Consumer<String> consumer = (String message) -> { System.out.println("要发送的消息:" + message); System.out.println("消息发送完成"); }; consumer.accept("hello world");
(8) java.util.function.Function<T, R>
接收参数对象为T,返回结果类型为R
Function<String, Integer> function = (String gender) -> { return "manger".equals(gender) ? 1 : 0; }; System.out.println(function.apply("manger"));
(9) java.util.function.Supplier<T>
不接收参数,提供T对象的创建工厂
Supplier<String> supplier = () -> {
return UUID.randomUUID().toString();
};
System.out.println(supplier.get());
(10) java.util.function.UnaryOperator<T>
接收参数对象T,返回参数对象T
UnaryOperator<String> unaryOperator = (String img) -> { return img + "[100 * 200]"; }; System.out.println(unaryOperator.apply("kk"));
(11) java.util.function.BinaryOperator<T>
接收两个T对象,返回一个T对象结果
BinaryOperator<String> binaryOperator = (String a, String b) -> { return a + b; }; System.out.println(binaryOperator.apply("a", "b"));
总结:java.util.function提供了大量的函数式接口
Predicate:接收参数对象为T,返回一个boolean类型结果
Customer:接收参数为T,不返回结果
Function:接收参数对象为T,返回结果类型为R
Supplier:不接收参数,提供T对象的创建工厂
UnaryOperator:接收参数对象T,返回参数对象T
BinaryOperator:接收两个T对象,返回一个T对象结果
以上是关于java8新特性-lambda的主要内容,如果未能解决你的问题,请参考以下文章