java isempty_Optional.isEmpty()即将加入Java吗?
java isempty
JDK-8184693請(qǐng)求將方法isEmpty()添加到JDK 8引入的Optional類中。 調(diào)用Optional.isEmpty()等同于調(diào)用! Optional.isPresent() ! Optional.isPresent() 。 當(dāng)前沒(méi)有與JDK-8184693關(guān)聯(lián)的JDK版本 ,但是它正在積極地工作,如最近發(fā)布的名為“ RFR:8184693:(opt)add Optional.isEmpty ”的core-libs-dev郵件列表中所示 。
JDK-8184693由Stuart Marks在2017年7月撰寫,為添加Optional.isEmpty()提供了一些有趣的理由。 Marks指出:“通常,我們避免添加彼此簡(jiǎn)單逆的方法”,并舉例說(shuō)明String.isEmpty()和Collection.isEmpty()的存在,而沒(méi)有任何隨附的String.notEmpty()或Collection.nonEmpty()對(duì)應(yīng)項(xiàng)。 Marks認(rèn)為這種方法在這些情況下效果很好,因?yàn)椤翱?非空不是根本”對(duì)他們來(lái)說(shuō):“對(duì)于這些對(duì)象,對(duì)空字符串(例如,搜索或附加它)或集合(例如, ,對(duì)其進(jìn)行迭代)。”
在JDK-8184693 ,商標(biāo)是確實(shí)有方法來(lái)明確表達(dá)雙方的空虛和非空虛例子寫道。 他寫道:“不過(guò),使用引用,null / non-null是非常基本的,我們有O bjects.isNull和Objects.nonNull 。” 因?yàn)檫@些示例的用法更像Optional的用法,所以Marks認(rèn)為Optional應(yīng)該在其當(dāng)前的isPresent()方法的旁邊有一個(gè)isEmpty() isPresent()方法:“與Optional相似,空/當(dāng)前二分法是非常基本的,因此應(yīng)該isEmpty和isPresent一起。”
JDK-8184693中的大多數(shù)證明文本已于本月(2018年4月)添加,并包含指向Peter Levart的2017年4月core-lib-devs郵件列表帖子“ Optional.isEmpty() ”的鏈接。 該錯(cuò)誤的撰寫總結(jié)了這篇文章開(kāi)始的一些討論。 在消息線程包括那些提供幽默 ,參考bikeshedding ,列表“ 大量的單行不使用布爾否定 ,”建議名稱isNotPresent()或isAbsent() ,提供熱情支持的的想法的Optional.isEmpty() ,并提醒“ 將方法添加到Optional的標(biāo)準(zhǔn)設(shè)置得很高 。”
前面提到的郵件列表消息“ RFR:8184693:(opt)add Optional.isEmpty ”引用了可供查看的代碼 。 擬議更改的Optional.java的“ Sdiff ”表明該方法已實(shí)現(xiàn)。 但是, 仍然需要對(duì)OptionalDouble , OptionalLong和OptionalInt進(jìn)行類似的更改 。
正如我在Java代碼中使用Optional那樣,當(dāng)我不需要使用Optional.isPresent()時(shí),我會(huì)體會(huì)到時(shí)間。 但是,有時(shí)候沒(méi)有很好的解決方法,我期待添加Optional.isEmpty()來(lái)代替!Optional.isPresent() 。 Optional.isEmpty()是次要的事情,但是我相信它將使我的代碼更易讀和更流暢。 我希望它很快就會(huì)在我附近的JDK上發(fā)布。
翻譯自: https://www.javacodegeeks.com/2018/04/optional-isempty-coming-to-java.html
java isempty
總結(jié)
以上是生活随笔為你收集整理的java isempty_Optional.isEmpty()即将加入Java吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring @lazy_Spring
- 下一篇: 孟加拉国是哪里的国家(孟加拉国生活水平如