java 谓词_谓词::不适合Java

java 谓词

Jim Laskey在OpenJDK core-libs-dev邮件列表上最近的消息“ RFR:CSR – JDK-8203428 Predicate :: not ”指出了JDK Bug JDK-8203428 [“ Predicate :: not”]。 JDK-8203428的“摘要”指出:“引入新的静态方法Predicate :: not,这将使开发人员可以轻而易举地否定谓词lambda。” 当前已分配给JDK 11

JDK-8203428的“问题”部分提供了对Predicate::not解决的问题的简要描述:

谓词否定的要求经常发生,因为谓词被定义为对正选择有反作用。 isNull,isEmpty,isBlank。

目前,没有一种简单的方法可以在不首先包装谓词对象的情况下取反谓词lambda

有一个非常说明性的示例,说明了如何在JDK-8203428编写中使用它。 JDK-8203428的“问题”部分提供了演示当今如何执行“谓词反”的代码,而“解决方案”部分提供了演示如何使用建议的静态方法Predicate::not实现相同功能的代码。

邮件列表线程中还有其他一些有趣的消息。 该线程中的Brian Goetz消息指出:“我们确实发现,[功能接口]上的默认方法与[功能接口]的子类型结合在一起会造成麻烦。 但是静态方法很好。” 线程中的RémiForax消息指出:“ stackoverflow已经确定 Predicate.not是正确的方法 。” 线程中的Sundararajan Athijegannathan消息指出“ not(String::isEmpty)读取几乎就像!str.isEmpty()

将静态函数not(Predicate<T>)Predicate是一件小事,但应提高许多Java代码行的流畅性。

翻译自: https://www.javacodegeeks.com/2018/05/predicatenot-coming-to-java.html

java 谓词

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值