gpt4 book ai didi

java - 在一条语句中使用和/或/否定方法创建谓词?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:29 25 4
gpt4 key购买 nike

java.util.function.Predicateand,or等有用的方法,比创建括号更简洁与多个逻辑运算符狂欢。不幸的是,如果不首先明确地使用谓词,似乎无法使用这些函数......

Predicate<String> predicate = String::isEmpty;
Predicate<String> predicateWithAnd = predicate.and( MyClass::testSomething );

有没有办法只在一个语句中创建第二个谓词(从而“保存”一个变量),比如...

Predicate<String> predicateWithAnd = (String::isEmpty).and( MyClass::testSomething );  // That doesn't seem to work ;-)

只是好奇...

最佳答案

是的,您需要将 lambda 转换为 Predicate 类型,其中 T 是您的类型。 Person 类的示例。

Predicate<Person> a = ((Predicate<Person>)p -> p.getId() > 2)
.and(p -> p.getPrice() > 100);

关于java - 在一条语句中使用和/或/否定方法创建谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com