isempty_Optional.isEmpty()即将加入Java吗?

isempty

isempty

JDK-8184693请求将方法isEmpty()添加到JDK 8引入的Optional类中。 调用Optional.isEmpty()等效于调用! Optional.isPresent() ! Optional.isPresent() 。 当前没有与JDK-8184693关联的JDK版本,但是它正在积极地工作,如最近发布的名为“ RFR:8184693:(opt)add Optional.isEmpty ”的core-libs-dev邮件列表中所示

JDK-8184693Stuart Marks在2017年7月撰写,为添加Optional.isEmpty()提供了一些有趣的理由。 Marks指出“通常,我们避免添加彼此简单逆的方法”,并举例说明String.isEmpty()Collection.isEmpty()的存在,而没有任何随附的String.notEmpty()Collection.nonEmpty()对应项。 Marks认为这种方法在这些情况下效果很好,因为“空/非空不是根本”对他们来说:“对于这些对象,对空字符串(例如,搜索或附加它)或集合(例如, ,对其进行迭代)。”

JDK-8184693 ,商标是确实有方法来明确表达双方的空虚和非空虚例子写道。 他写道:“但是,使用引用,null / non-null是非常基本的,我们有O bjects.isNullObjects.nonNull 。” 因为这些示例的用法更像Optional的用法,所以Marks认为Optional应该在其当前的isPresent()方法旁边有一个isEmpty() isPresent()方法:“与Optional相似,空/当前二分法是非常基本的,因此应该isEmptyisPresent一起。”

JDK-8184693中的大多数证明文本已于本月(2018年4月)添加,并包含指向Peter Levart的2017年4月core-lib-devs邮件列表帖子“ Optional.isEmpty() ”的链接。 该错误的撰写总结了这篇文章开始的一些讨论。 在消息线程包括那些提供幽默,参考bikeshedding ,列表“大量的单行不使用布尔否定,”建议名称isNotPresent()isAbsent() ,提供热情支持的的想法Optional.isEmpty() ,并提醒“将方法添加到Optional的标准设置得很高。”

前面提到的邮件列表消息“ RFR:8184693:(opt)add Optional.isEmpty ”引用了可供查阅的代码。 拟议更改的Optional.java的“ Sdiff ”表明该方法已实现。 但是,仍然需要OptionalDoubleOptionalLongOptionalInt进行类似的更改

正如我在Java代码中使用Optional那样,当我不需要使用Optional.isPresent()时,我会很感激。 但是,有时无法解决问题,我期待添加Optional.isEmpty()来代替!Optional.isPresent()Optional.isEmpty()是次要的事情,但是我相信它将使我的代码更易读和更流畅。 我希望它很快就会在我附近的JDK上发布。

翻译自: https://www.javacodegeeks.com/2018/04/optional-isempty-coming-to-java.html

isempty

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值