热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如果不为null,则将值放入地图》经验,为你挑选了2个好方法。

Java是否有类似的东西

map.putIfValueNotNull(key, value)

因此,只有在没有显式检查的情况下,它的值不为null时,才可以将其放入地图中。



1> HDCase..:

您可以使用computeIfAbsent()函数来检查键是否已在地图中,如果该键不起作用。如果键不存在,则它将检查计算出的值是否为空,如果不存在,则将其放入映射中。

map.computeIfAbsent(key, val -> value);

注意,putIfAbsnet将空值放入映射中。


我认为他想要的是在地图中没有任何内容(如果为空)。

2> oleg.cheredn..:

我知道org.apache.commons.collections4.MapUtilscontains方法safeAddToMap(),但是如果valuenull,它添加empty string的不是您想要的。

我不喜欢改写HashMap以实现新方法,因为在这种情况下,其他实现没有此方法:TreeMapor LinkedHashMapor。

我不知道此功能存在于某些可用库中,例如Apache类似库。

因此,在我的项目中,我必须自己实施:

public static  Map addNotNull(Map map, K key, V value) {
    if(value != null)
        map.put(key, value);

    return map;
}


推荐阅读
author-avatar
fghnh102_441
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有