java - 如何使 `Map::get` 返回找到的值的 `Optional` 或 `Optional.empty()`

标签 java java-8 option-type

我正在尝试这样做:

return Optional.of(myMap.getOrDefault(myKey, null));

真的,我想要的是返回 Optional.of(foundVal) 如果找到,否则返回 Optional.empty()。我不相信 Optional.of(null) 等同于此。我想做的是什么语法?

也就是说,我怎样才能让 map get 返回一个正确的 Optional

最佳答案

为什么不简单:

return Optional.ofNullable(myMap.get(myKey));

JavaDocs

关于java - 如何使 `Map::get` 返回找到的值的 `Optional` 或 `Optional.empty()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53108676/

相关文章:

java - 在java 8中将hashmap拆分为分区

java - 用于反转字符串的 Lambda 表达式 - Java

swift - 你如何打开 Swift 可选值?

ios - 通过任意操作快速进行可选链接?

java - 从 Github 安装 Gson

java - 按枚举值或字符串值对列表中的元素进行排序

java - 如何访问 Azure 的 Tomcat 日志以进行 Java 应用服务部署

filter - java.util.NoSuchElementException : No value present even though we use stream

java - Hive jdbc 驱动程序以非描述性消息响应

java - HSQL 有效过滤 NaN