java.lang.ClassCastException: class java.util.HashMap cannot be cast to class java.util.Collection

在处理查询出来的数据进行过滤时,出现类型转换异常报错:

java.lang.ClassCastException: class java.util.HashMap cannot be cast to class java.util.Collection (java.util.HashMap and java.util.Collection are in module java.base of loader 'bootstrap')

将(Collection<?> collect) 改成Collections.singleton(collect)

错误代码

 /*过滤数据*/
        Map<String, Long> collect = list.stream()
                .filter(x -> ObjectUtil.isNotEmpty(x.getSchool()))
                .collect(Collectors.groupingBy(Major::getSchool, Collectors.counting()));
        /*封装(返回给前端的)数据结果*/
        List<Map<String,Object>> map = new ArrayList<>();
        if (CollectionUtil.isNotEmpty((Collection<?>) collect)){
            for (String key : collect.keySet()){
                HashMap<String, Object> row = new HashMap<>();
                row.put("name",key);
                row.put("value",collect.get(key));
                map.add(row);
            }
        }

正确代码

/*过滤数据*/
        Map<String, Long> collect = list.stream()
                .filter(x -> ObjectUtil.isNotEmpty(x.getSchool()))
                .collect(Collectors.groupingBy(Major::getSchool, Collectors.counting()));
        /*封装(返回给前端的)数据结果*/
        List<Map<String,Object>> map = new ArrayList<>();
        if (CollectionUtil.isNotEmpty(Collections.singleton(collect))){
            for (String key : collect.keySet()){
                HashMap<String, Object> row = new HashMap<>();
                row.put("name",key);
                row.put("value",collect.get(key));
                map.add(row);
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值