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

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

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

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

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

解决方案:

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

import com.alibaba.fastjson.JSONObject;

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

PS:亲测有效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章