如果不是空值,则将值放入映射中
2022-09-02 20:52:49
Java有类似的东西吗?
map.putIfValueNotNull(key, value)
因此,只有在没有显式检查的情况下,我才能将值放入映射中,如果它不为空。
Java有类似的东西吗?
map.putIfValueNotNull(key, value)
因此,只有在没有显式检查的情况下,我才能将值放入映射中,如果它不为空。
我知道包含方法,但如果是,它添加的不是你想要的。org.apache.commons.collections4.MapUtils
safeAddToMap()
value
null
empty string
我不喜欢变体,重写以实现新方法,因为在这种情况下,你没有它用于其他实现:或者否则。HashMap
TreeMap
LinkedHashMap
我不知道这个函数是否存在于一些可用的库中,比如或类似的。Apache
因此,在我的项目中,我必须自己实现它:
public static <K, V> Map<K, V> addNotNull(Map<K, V> map, K key, V value) {
if(value != null)
map.put(key, value);
return map;
}
您可以使用函数来检查密钥是否已在映射中。如果它在那里,它不会做任何事情。如果键不存在,则检查计算值是否为 null,如果不是,则将其放入映射中。computeIfAbsent()
map.computeIfAbsent(key, val -> value);
请注意,将空值放入映射中。putIfAbsent