java.util.LinkedHashMap cannot be cast to xxJavaBean

// 前提/map.get("listKey")为List集合
List<JavaBean> list = (List<JavaBean>) map.get("listKey"); if (CollectionUtils.isNotEmpty(list)) {   list.forEach(xx -> {   }); }

以上代码运行至forEach时会报错:java.util.LinkedHashMap cannot be cast to JavaBean

细想之后结论:map获取listKey之后形成的数据集合格式与JavaBean数据格式不符

修改代码:

List<JavaBean> list = JSONObject.parseArray(JSONObject.toJSONString(map.get("listKey"))).toJavaList(JavaBean.class);
if (CollectionUtils.isNotEmpty(list)) {
  list.forEach(xx -> {
  });
}

使用JSONObject转换数据格式的方式使之运行通过

猜你喜欢

转载自www.cnblogs.com/huahuavip/p/10254499.html