作者:fghnh102_441 | 来源:互联网 | 2023-01-02 16:29
Java是否有类似的东西
map.putIfValueNotNull(key, value)
因此,只有在没有显式检查的情况下,它的值不为null时,才可以将其放入地图中。
1> HDCase..:
您可以使用computeIfAbsent()
函数来检查键是否已在地图中,如果该键不起作用。如果键不存在,则它将检查计算出的值是否为空,如果不存在,则将其放入映射中。
map.computeIfAbsent(key, val -> value);
注意,putIfAbsnet
将空值放入映射中。
我认为他想要的是在地图中没有任何内容(如果为空)。
2> oleg.cheredn..:
我知道org.apache.commons.collections4.MapUtils
contains方法safeAddToMap()
,但是如果value
是null
,它添加empty string
的不是您想要的。
我不喜欢改写HashMap
以实现新方法,因为在这种情况下,其他实现没有此方法:TreeMap
or LinkedHashMap
or。
我不知道此功能存在于某些可用库中,例如Apache
类似库。
因此,在我的项目中,我必须自己实施:
public static Map addNotNull(Map map, K key, V value) {
if(value != null)
map.put(key, value);
return map;
}