Java 谓词是 Java 编程语言中的一种特殊表达式,它可以用来检查一个对象是否满足一定的条件。它可以用来测试对象的属性,例如大小、颜色、类型等,也可以用来测试对象之间的关系,例如相等、不相等、大于、小于等。
Java 谓词通常使用 lambda 表达式来表示,lambda 表达式是一个匿名函数,它可以接受一个或多个参数并返回一个布尔值。lambda 表达式有助于将复杂的逻辑表述得更加清晰易懂。例如,要测试一个字符串是否长度大于 5 位,可以使用如下 lambda 表达式:
str -> str.length() > 5
Java 8 中引入了新的 Stream API ,它允许我们使用 Java 谓词在集合中过滤元素。Stream API 提供了 filter() 方法,它可以传入一个 Java 谓词作为参数,并返回包含所有匹配元素的新 Stream 对象。例如,要在 List 中过滤出所有长度大于 5 的字符串:
List<String> list = Arrays.asList("foo", "bar", "baz"); list.stream().filter(str -> str.length() > 5).collect(Collectors.toList());
谓词
接口包含以下默认和静态方法。
我们可以使用NOT,AND和OR方法来创建基于其他谓词的谓词。
default Predicate<T> negate() default Predicate<T> and(Predicate<? super T> other) default Predicate<T> or(Predicate<? super T> other) static <T> Predicate<T> isEqual(Object targetRef)
negate()
否定原始谓词的谓词。
and()
组合两个具有短路逻辑AND的谓词。
or()
组合了具有短路逻辑或的两个谓词。
isEqual()
返回一个谓词,根据Objects.equals(Object,Object)测试两个参数是否相等。
我们可以链接上述方法来创建复杂谓词。
以下示例显示如何使用 Predicate
。
import java.util.function.Predicate; public class Main { public static void main(String[] args) { Predicate<String> i = (s)-> s.length() > 5; System.out.println(i.test("www..cn ")); } }
上面的代码生成以下结果。
Java Lambda表达式上下文lambda表达式可以只在以下四种环境中使用。赋值上下文方法调用上下文返回上下文转换上下文赋值上下文lam...
JavaFX教程 -JavaFX转换JavaFX转换相关类位于javafx.scene.transform包中,并且是Transform类的子类。一个变换是关于如何改变坐...
Java面向对象设计 -Java类实例以下是创建类的实例的一般语法:new Class Constructor; new 运算符后面是对构造函数的调用。 new ...
Java IO教程 - Java输入流抽象基本组件是InputStream类。InputStream | +--FileInputStream| +--ByteArrayInputStream| +--Piped...
Java IO教程 -Java数据输出流DataOutputStream可以将Java基本数据类型值写入输出流。DataOutputStream类包含一个写入数据类型的...