Zim*_*ger 5 java collections hashmap
Java是否有类似的东西
map.putIfValueNotNull(key, value)
因此,只有在没有显式检查的情况下,它的值不为null时,才可以将其放入地图中。
bbo*_*win 15
在这种情况下,我只会使用Optional:
Optional.ofNullable(value).ifPresent(v -> map.put(key, v));
形式上,这不满足显式检查缺失的要求,但它仍然相当简短和干净,并且如果值为 ,则不会对 map 执行任何操作null。
HDC*_*ase 10
您可以使用computeIfAbsent()函数来检查键是否已在地图中,如果该键不起作用。如果键不存在,则它将检查计算出的值是否为空,如果不存在,则将其放入映射中。
map.computeIfAbsent(key, val -> value);
注意,putIfAbsnet将空值放入映射中。
我知道org.apache.commons.collections4.MapUtilscontains方法safeAddToMap(),但是如果value是null,它添加empty string的不是您想要的。
我不喜欢改写HashMap以实现新方法,因为在这种情况下,其他实现没有此方法:TreeMapor LinkedHashMapor。
我不知道此功能存在于某些可用库中,例如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;
}
| 归档时间: | 
 | 
| 查看次数: | 11458 次 | 
| 最近记录: |