java map中key存在但是value为null使用getOrDefault会返回null而不是返回值
如果Map中的key存在但是value为null,使用getOrDefault方法会返回null,因为该方法的作用是获取指定key对应的value,如果该key不存在,则返回默认值。在这种情况下,虽然key存在,但是对应的value确实为null,因此返回的仍然是null。
如果想要在Map中获取一个key对应的值,并且即使该key对应的value为null也返回一个默认值,可以使用如下代码:
Map<String, String> map = new HashMap<>();
String value = map.get("key");
String defaultValue = "default";
String result = value != null ? value : defaultValue;
这里先使用get方法获取key对应的值,如果值不为null则返回该值,否则返回默认值。
原文地址: https://www.cveoy.top/t/topic/bw5j 著作权归作者所有。请勿转载和采集!