java.util.LinkedHashMap cannot be cast to Entity
- 原代码
public void saveData(Map<String, Object> record) {
List<Entity> saveList = (List<Entity>) record.get("saveList");
for (Entity entity : saveList) {
System.out.print(entity.getEntityProperty());
}
}
- 改后代码
public void saveData(Map<String, Object> record) {
List<Map<String, Object>> saveMapList = (List<Map<String, Object>>) record.get("saveList");
for (Map<String, Object> map : saveMapList ) {
Entity entity = JSON.parseObject(JSON.toJSONString(map), Entity.class);
System.out.print(entity.getEntityProperty());
}
}
- 错误原因
用Map接收参数,强制转换类型后,得到的List中元素仍是以Map的形式存在。
在循环Map时,用Fastjosn转成Entity对象,再进行逻辑处理。 - 引用的包
import com.alibaba.fastjson.JSON;