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));
    }

效果示例 :

相关推荐
Java小生不才1 小时前
spring AI文生图
java·人工智能·spring ai
苍煜1 小时前
ThreadPoolExecutor线程池终极全解:同步异步判定+SpringBoot生产实战
java·开发语言·spring boot
c++之路2 小时前
C++ 动态内存
java·jvm·c++
2301_800976936 小时前
数据库的基本操作后续
java·数据库·sql
SECS/GEM6 小时前
SECS/GEM如何实现越南现场自定义消息
java·服务器·数据库
lv__pf7 小时前
集合框架1
java·开发语言
Hui Baby7 小时前
java抠图
java·开发语言
许彰午7 小时前
# 手写一个迷你Tomcat——三步理解Servlet容器的核心原理
java·servlet·tomcat
一诺加油鸭9 小时前
若依后端系统集成 Swagger 接口文档功能
java·开发语言