如果不为空,则将值放入地图

新手上路,请多包涵

Java有类似的东西吗

map.putIfValueNotNull(key, value)

因此,只有在不进行显式检查的情况下不为 null 时,我才能将值放入地图中。

原文由 David 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 457
1 个回答

I know that org.apache.commons.collections4.MapUtils contains method safeAddToMap() , but if value is null , it adds empty string which is not你想要什么。

我不喜欢变体,覆盖 HashMap 来实现新方法,因为在这种情况下你没有它用于其他实现: TreeMapLinkedHashMap 或else .

我不知道这个函数存在于一些可用的库中,比如 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;
}

原文由 oleg.cherednik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题