日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

集合中的可选

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 集合中的可选 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時有人認為Optional類型值得在集合中使用。 據稱,它解決了以下問題: HashMap在沒有鍵映射以及值null映射到鍵的情況下返回null 。 如果使用Map<Optional<Something>>則可以清楚地區分缺少的映射和缺少的值。 這樣一來,您在兔子洞中的位置會更深一層。

首先:

您可以

告訴一個鍵是否映射為null或不使用Optional不映射。 有方法containsKey() 。 這是另一種方法調用,用于將非映射鍵與映射的null值分開。 但是,調用Optional的方法也是。 那有什么意義呢? 另一方面

你不需要

判斷鍵是否已映射為null或缺少映射。 如果兩種情況下您的程序代碼不同,則您以錯誤的方式為企業登錄創建了代碼。 這肯定是代碼的味道。 將null視為“什么都沒有”,而不是“將null分配給鍵'aaaaaarrghhh'”,請大聲說出:什么都沒有分配給鍵'aaaaaarrghhh'。 你看? 除了所有人現在都在辦公室里看著您之外,沒有任何區別。

并在Map使用可選值

你會

過一會兒,在兔子洞里再深一層。 代碼過著獨立的生活。 開發它的不僅是您自己。 在大型組織中,有一些開發人員肯定在代碼編寫時就醉了。 (這是某些代碼的唯一合理解釋。)它們很快就會在您的Map<Optional<Something>>填充

  • null值,
  • 缺少Optional值
  • 甚至帶有包裝其他內容但不包含“ Something ”的Optional對象。

有時,如果幸運的話,您甚至可能會發現一些非null ,不存在的Optional<Something>值。

翻譯自: https://www.javacodegeeks.com/2015/08/optional-in-collections.html

總結

以上是生活随笔為你收集整理的集合中的可选的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。