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

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

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

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

    java isempty JDK-8184693请求将方法isEmpty()添加到JDK 8引入的Optional类中. 调用Optional.isEmpty()等同于调用! Optional.isP ...

  2. Optional.isEmpty()在JDK 11 EA构建中可用

    我最近发布的问题" Optional.isEmpty()即将加入Java吗? "是由名为" RFR:8184693 :(选择)添加Optional.isEmpty &qu ...

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

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

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

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

  5. java optional用法_2019年 Java 调查报告:“被取代”是不存在的!

    作者 | Nikos Vaggalis 译者 | 冬雨 策划 | 田晓旭 尽管 Java 被称为编程语言的"老马",但它仍在不断发展. 在 Tiobe 排行榜中,它仍然是的第一名, ...

  6. 鸿蒙ArkUI即将取代Java UI?

    关注前端开发的同学,一定听过近些年,DSL 描述式的 UI 构建写法,大有取代传统命令式布局的趋势. 传统上,写一套 UI 代码,需要根据数据的逻辑,手动的在业务代码里,去改变界面 UI 元素的状态, ...

  7. 看我发现了什么好东西? Java Optional,绝对值得一学 | 原力计划

    作者 | 沉默王二 来源 | CSDN博客 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 想学习,永远都不晚,尤其是针对 Java 8 里面的好东西,Optional 就 ...

  8. java Optional操作

    目录 Optional对象的创建 isPresent()和isEmpty()判空处理 ifPresent()和ifPresentOrElse()的条件动作 Optional对象中获取值 orElse( ...

  9. JAVA中throw用法例子,Java Optional orElseThrow()用法及代码示例

    Java中的java.util.Optional类的orElseThrow()方法用于获取此Optional实例(如果存在)的值.如果此Optional实例中不存在任何值,则此方法将引发从指定供应商生 ...

最新文章

  1. 目前服务器操作系统版本号,目前服务器操作系统版本号
  2. C二维数组行为空,列不为空
  3. 一次 sql 优化经历,太有趣了!
  4. 第四章课后习题及答案
  5. C++ 析构函数设为虚函数的好处
  6. 音视频技术开发周刊 | 203
  7. WebView详解与简单实现Android与H5互调
  8. 【C++】模拟String,柔性数组,运算符重载,写实拷贝
  9. 电信IHO-3000机顶盒高安版 悦ME刷机固件
  10. Win11更新提示安装错误0x80248007怎么办?0x80248007下载错误解决方法汇总
  11. 数学建模复习——代码记录
  12. 从控制台输入一个数字,判断这个数字是不是一个质数
  13. 什么东西能够改善睡眠,拯救失眠的助眠好物推荐
  14. barcode4j生成条形码及打印条码开发介绍
  15. 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现
  16. 学习参考《父与子的编程之旅python【第二版】》高清中文版PDF+高清英文版PDF+源代码...
  17. 将一张图片的人物融入另一张图片中
  18. 把款软件可以测试双显卡,如何看自己的电脑是不是双显卡?双显卡有什么好处?...
  19. P6111 [USACO18JAN]MooTube S
  20. Android音频播放(本地/网络)绘制数据波形,根据特征有节奏的改变颜色

热门文章

  1. MongoDB查询实现 笛卡尔积,Union All 和Union 功能
  2. Spring Boot 配置随机数那些小技巧
  3. 有些事,父母一定不能依着孩子!
  4. 计算机专业毕业后能做什么工作?
  5. js引擎执行代码的基本流程
  6. CV中多的空格导致报错
  7. encipher.min.php,陌屿授权系统(5.7)最新版 网站授权 - 下载 - 搜珍网
  8. python的pandas库中如何计算每列出现最多的值_Python Pandas:计算多个列的每个唯一值的显示次数...
  9. python tkinter计算器实例_python -Tkinter 实现一个小计算器功能
  10. sql 注射_令人惊讶的注射