举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java 谓词 Java 谓词接口

java 谓词 Java 谓词接口

2023-03-23 09:18 Java教程

java 谓词 Java 谓词接口

java 谓词

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());

Java 谓词接口

Java Lambda - Java谓词接口


谓词接口包含以下默认和静态方法。

我们可以使用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 谓词 Java 谓词接口全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部