Java 将Map里面的 ‘空’值 移除

java 复制代码
    public static  void main(String[] args) {

        Map<String, Object> map=new HashMap<>();
        map.put("A","");
        map.put("B",new ArrayList<>());
        map.put("C",null);
        map.put("D",123);
        System.out.println(map.toString());
        Map<String, Object> mapNew = removeEmpty(map);
        System.out.println(mapNew.toString());
    }

如: 对于 空的list ,以及 双引号的 字符串,都认为是空。

移除方法 :

java 复制代码
    private  static Map<String, Object> removeEmpty(Map<String, ?> paramsMap) {
        return paramsMap.entrySet().stream()
                .filter(entry -> entry.getValue() != null)
                .filter(entry -> !(entry.getValue() instanceof String) || StringUtils.isNotEmpty((String) entry.getValue()))
                .filter(entry -> !(entry.getValue() instanceof List) || CollectionUtils.isNotEmpty((List<?>) entry.getValue()))
                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    }

效果示例 :

相关推荐
黎宇幻生9 小时前
Java全栈学习笔记39
java·笔记·学习
Aurorar0rua10 小时前
C Primer Plus Notes 09
java·c语言·算法
nongcunqq11 小时前
abap 操作 excel
java·数据库·excel
史迪奇_xxx12 小时前
10、一个简易 vector:C++ 模板与 STL
java·开发语言·c++
2301_8012522212 小时前
Java中的反射
java·开发语言
遇印记13 小时前
大二java学习笔记:二维数组
java·笔记·学习
小杨同学yx13 小时前
有关maven的一些知识点
java·开发语言
小韩博13 小时前
IDEA的简单使用
java·ide·intellij-idea
我是华为OD~HR~栗栗呀13 小时前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
埃泽漫笔13 小时前
RabbitMQ 核心概念解析
java·mq