如何使'Map::get'返回找到的值的'Optional'或'Optional.empty()'
我正在尝试这样做:
return Optional.of(myMap.getOrDefault(myKey, null));
真的,我想要的是返回一个如果找到,否则.我不认为这等同于此。我想要做什么语法?Optional.of(foundVal)
Optional.empty()
Optional.of(null)
也就是说,我如何获得地图以返回适当的?get
Optional
我正在尝试这样做:
return Optional.of(myMap.getOrDefault(myKey, null));
真的,我想要的是返回一个如果找到,否则.我不认为这等同于此。我想要做什么语法?Optional.of(foundVal)
Optional.empty()
Optional.of(null)
也就是说,我如何获得地图以返回适当的?get
Optional
这
Optional.of(myMap.getOrDefault(myKey, null));
或者真的
Optional.of(null);
如果出现 .正如javadoc所说NullPointerException
Throws:
NullPointerException - if is nullvalue
Optional#ofNullable
存在,当你不知道你传递给它的值是否是:null
参数:
- 要描述的可能为空的值value
由于Map#get(Object)
在给定键没有条目时已经返回null
返回:
指定键映射到的值,或者此映射是否不包含键的映射null
您不需要使用默认值。您可以直接使用getOrDefault
null
Optional.ofNullable(myMap.get(myKey));