【发布时间】:2018-11-01 20:10:43
【问题描述】:
我正在尝试这样做:
return Optional.of(myMap.getOrDefault(myKey, null));
真的,如果找到,我想要返回Optional.of(foundVal),否则返回Optional.empty()。我不相信Optional.of(null) 等同于此。我想做什么语法?
也就是说,我怎样才能获得地图get 以返回正确的Optional?
【问题讨论】:
-
Optional#ofNullable,或者更好的是,如果密钥不存在,您可以执行一些操作,例如Map#computeIfAbsent -
但是想想 null,
null可能意味着值不存在或键实际上映射到 null,这取决于您的地图和应用程序 -
@Eugene - 谢谢。是的,我自己从流中构建地图,所以如果该值不存在,那么该条目也永远不会存在。不过,我正在尝试涵盖所有空案例。