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

在JDK-8184693 ,商标是确实有方法来明确表达双方的空虚和非空虚例子写道。 他写道:“不过,使用引用,null / non-null是非常基本的,我们有O bjects.isNull和Objects.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 ”表明该方法已实现。 但是, 仍然需要对OptionalDouble , OptionalLong和OptionalInt进行类似的更改 。

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

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

java isempty

java isempty_Optional.isEmpty()即将加入Java吗?相关推荐

  1. Java IdentityHashMap isEmpty()方法与示例

    IdentityHashMap类isEmpty()方法 (IdentityHashMap Class isEmpty() method) isEmpty() method is available i ...

  2. Java ArrayList isEmpty()方法与示例

    ArrayList类isEmpty()方法 (ArrayList Class isEmpty() method) isEmpty() method is available in java.util ...

  3. JAVA中isEmpty、null、的区别

    JAVA中isEmpty.null.""的区别 isEmpty()         分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)    ""   ...

  4. TIOBE 6 月编程语言排行榜:C++ 即将超越 Java

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 今天,TIOBE 在更新了官网的设计之后,重磅带来了新一个月的编程语言榜单. C++ 即将超越 Java 在最新的 6 月榜单中,TIOB ...

  5. 我的世界 pe c java_《我的世界》PE新版本即将来袭 JAVA版将被边缘化

    原标题:<我的世界>PE新版本即将来袭 JAVA版将被边缘化 微软于北京时间的6月12日正式召开了E3的专场发布会,除了公布新的主机XBOX ONE X(即天蝎座)之外,还公布了大量的新游 ...

  6. java vector.isempty,Java Vector isEmpty()方法与示例

    向量类isEmpty()方法isEmpty()方法在java.util包中可用. isEmpty()方法用于检查此Vector是"空"还是"非空". isEmp ...

  7. 滴答定时器 时钟_时钟在滴答滴答:Java浏览器插件即将弃用

    滴答定时器 时钟 JDK 9的通用可用性(GA)里程碑已移至2017年7月这一事实可能为仍依赖32位Mozilla Firefox Web浏览器中的Java插件技术但仍将继续发展的开发人员提供了优势. ...

  8. 尚硅谷Java入门视频教程(在线答疑+Java面试真题)

    Java核心技术 一.Java基本语法 1.关键字与保留字 关键字的定义和特点 被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 关键字中所有字母都为小写 保留字的定义 现有Java版本尚未 ...

  9. java后端面试大全,java后端面试宝典

    文章目录 -2 flink -1 linux of view linux查看占用cup最高的10个进程的命令: 〇.分布式锁 & 分布式事务 0-1分布式锁--包含CAP理论模型 概述 分布式 ...

最新文章

  1. jsp java el_jsp之EL表达式
  2. Python -- dict 类
  3. 5个让你充满健身动力的方法
  4. 《大话数据结构》第9章 排序 9.7 堆排序(下)
  5. 基于PHP7的提供数据管理工具框架Meloy 1.0.3 发布
  6. 实现单服务器响应多客户机,对等网与客户机/服务器网络
  7. day13-(事务mvc反射补充)
  8. NOI2004郁闷的出纳员
  9. 【Pytorch神经网络实战案例】12 利用注意力机制的神经网络实现对FashionMNIST数据集图片的分类
  10. js中的对象、原型链机制、构造函数
  11. Python风格总结:十进制转二进制、八进制、十六进制
  12. 小米5如何支持ATT网络运营商
  13. Uva 12657 Boxes in a Line 双向链表
  14. TI CCS下载地址
  15. 集体智慧编程——协同过滤
  16. iOS苹果超级签苹果分发平台企鹅:422903005
  17. FANUC机器人的奇异点回避功能说明
  18. Visual studio 无法连接网络解决方法
  19. AutoCAD Civil 3D创建点文件描述码(点特征码)集控制展点样式与特性
  20. OpenCV中文文档4.0.0学习笔记(更新中……)

热门文章

  1. P3295 [SCOI2016]萌萌哒(DP+倍增)
  2. 【网络流】最大流问题(EK算法带模板,Dinic算法带模板及弧优化,ISAP算法带模板及弧优化)上下界网络流
  3. CF903G-Yet Another Maxflow Problem【线段树,最大流】
  4. Codeforces Round #674 (Div. 3)
  5. 【斐波那契】【前缀和】无限序列
  6. 牛客网暑期ACM多校训练营(第一场)
  7. 2018 计蒜之道 复赛
  8. 闲来无事刷水题、简单博弈论专题、sg函数、洛谷
  9. 动态规划训练6 [统计单词个数]
  10. select2删除选中项,allowClear设置