Java Object转List实体类错误以及解决方案(异常:java.util.LinkedHashMap cannot be cast to JavaBean)

Java中Object可以直接转成List实体类:

Map> mapIdAndStudent = new HashMap<>();
List studentList = new ArrayList<>();
mapIdAndStudent.put("c001", studentList);

// 直接转换
List newStudentList = (List)mapIdAndStudent.get("c001");

 通过这样的方式,编译和运行是没有错误的,但是如果遍历转换以后的List就会报异常(java.util.LinkedHashMap cannot be cast to JavaBean

解决方案:

我们需要把这个Object对象转出字符串,然后再把字符串转换成List对象:

import com.alibaba.fastjson.JSONObject;

List newStudentList = JSONObject.parseArray(JSONObject.toJSONString(mapIdAndStudent.get("c001")), Student.class);

PS:亲测有效。

你可能感兴趣的:(错误收集,Java)