java isempty_Optional.isEmpty()即将加入Java吗?
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
相似,空/当前二分法是非常基本的,因此应该isEmpty
和isPresent
一起。”
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吗?相关推荐
- Java IdentityHashMap isEmpty()方法与示例
IdentityHashMap类isEmpty()方法 (IdentityHashMap Class isEmpty() method) isEmpty() method is available i ...
- Java ArrayList isEmpty()方法与示例
ArrayList类isEmpty()方法 (ArrayList Class isEmpty() method) isEmpty() method is available in java.util ...
- JAVA中isEmpty、null、的区别
JAVA中isEmpty.null.""的区别 isEmpty() 分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空) "" ...
- TIOBE 6 月编程语言排行榜:C++ 即将超越 Java
整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 今天,TIOBE 在更新了官网的设计之后,重磅带来了新一个月的编程语言榜单. C++ 即将超越 Java 在最新的 6 月榜单中,TIOB ...
- 我的世界 pe c java_《我的世界》PE新版本即将来袭 JAVA版将被边缘化
原标题:<我的世界>PE新版本即将来袭 JAVA版将被边缘化 微软于北京时间的6月12日正式召开了E3的专场发布会,除了公布新的主机XBOX ONE X(即天蝎座)之外,还公布了大量的新游 ...
- java vector.isempty,Java Vector isEmpty()方法与示例
向量类isEmpty()方法isEmpty()方法在java.util包中可用. isEmpty()方法用于检查此Vector是"空"还是"非空". isEmp ...
- 滴答定时器 时钟_时钟在滴答滴答:Java浏览器插件即将弃用
滴答定时器 时钟 JDK 9的通用可用性(GA)里程碑已移至2017年7月这一事实可能为仍依赖32位Mozilla Firefox Web浏览器中的Java插件技术但仍将继续发展的开发人员提供了优势. ...
- 尚硅谷Java入门视频教程(在线答疑+Java面试真题)
Java核心技术 一.Java基本语法 1.关键字与保留字 关键字的定义和特点 被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 关键字中所有字母都为小写 保留字的定义 现有Java版本尚未 ...
- java后端面试大全,java后端面试宝典
文章目录 -2 flink -1 linux of view linux查看占用cup最高的10个进程的命令: 〇.分布式锁 & 分布式事务 0-1分布式锁--包含CAP理论模型 概述 分布式 ...
最新文章
- jsp java el_jsp之EL表达式
- Python -- dict 类
- 5个让你充满健身动力的方法
- 《大话数据结构》第9章 排序 9.7 堆排序(下)
- 基于PHP7的提供数据管理工具框架Meloy 1.0.3 发布
- 实现单服务器响应多客户机,对等网与客户机/服务器网络
- day13-(事务mvc反射补充)
- NOI2004郁闷的出纳员
- 【Pytorch神经网络实战案例】12 利用注意力机制的神经网络实现对FashionMNIST数据集图片的分类
- js中的对象、原型链机制、构造函数
- Python风格总结:十进制转二进制、八进制、十六进制
- 小米5如何支持ATT网络运营商
- Uva 12657 Boxes in a Line 双向链表
- TI CCS下载地址
- 集体智慧编程——协同过滤
- iOS苹果超级签苹果分发平台企鹅:422903005
- FANUC机器人的奇异点回避功能说明
- Visual studio 无法连接网络解决方法
- AutoCAD Civil 3D创建点文件描述码(点特征码)集控制展点样式与特性
- OpenCV中文文档4.0.0学习笔记(更新中……)
热门文章
- P3295 [SCOI2016]萌萌哒(DP+倍增)
- 【网络流】最大流问题(EK算法带模板,Dinic算法带模板及弧优化,ISAP算法带模板及弧优化)上下界网络流
- CF903G-Yet Another Maxflow Problem【线段树,最大流】
- Codeforces Round #674 (Div. 3)
- 【斐波那契】【前缀和】无限序列
- 牛客网暑期ACM多校训练营(第一场)
- 2018 计蒜之道 复赛
- 闲来无事刷水题、简单博弈论专题、sg函数、洛谷
- 动态规划训练6 [统计单词个数]
- select2删除选中项,allowClear设置