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:亲测有效。