什么是在java中使用谓词(java.util.function.Predicate)的“最佳案例场景”

时间:2016-07-09 05:50:16

标签: java java-8

我正在浏览在Java 8中使用Predicate的代码。有人帮助我使用Predicate的最佳案例场景

2 个答案:

答案 0 :(得分:2)

当您需要一个带有一个参数并返回Predicate的函数时,可以使用booleanjavadoc)。例如,在您要过滤流或查找满足某些条件的第一个流元素的情况下。

答案 1 :(得分:0)

从文档中https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html

这是一个功能界面,代表从某事物到bool的功能。 Java没有函数类型或不受限制的第一类函数,但它确实有代表特定函数子类型的接口。

https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

  

功能接口为lambda表达式提供目标类型   方法参考。

以下是谓词的示例,如果字符串的长度大于5,则返回true

Predicate<String> i = (s) -> s.length(5) > 5;

任何以Predicate作为参数的方法都支持lambda语法,因为这是可以推断出lambda表达式的具体类型之一。

Predicate与普通Functionhttps://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html)不同,因为Function无法返回基本类型。