java.util.LinkedHashMap cannot be cast to xxx
2018-07-06 01:24:38来源:博客园 阅读 ()
java.util.LinkedHashMap cannot be cast to com.entity.Person
使用mybatis, resultMap映射的是实体类Person, 查询出来的结果是一个ArrayList<Person>,然后结果存放在一个ListObject的data属性中,
存放结果的类
public class ListObject { private Object data; public Object getData() { return data; } public void setData(Object data) { this.data = data; } }
强制转换成List<Person> result = (List<Person>)result.getData();没有报错, 也拿到了数据,当使用for循环的时候报错 java.util.LinkedHashMap cannot be cast to com.entity.Person
ListObject result = method.query(name); List<Person> result = (List<Person>)result.getData();
for(Person per : result){ sourceList.add(per .getId()); }
解决方法:
导入 net.sf.json 类,使用JSONObject中的方法, 先将数据转成json字符串, 在转成实体对象
ListObject result = method.query(name);
List<Person> result = (List<Person>)result.getData();
for(Object obj : result){
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Person per = (Person)JSONObject.toBean(jsonObject, Person.class);
sourceList.add(per.getId());
}
主要就是两步
JSONObject jsonObject=JSONObject.fromObject(objectStr); // 将数据转成json字符串
Person per = (Person)JSONObject.toBean(jsonObject, Person.class); //将json转成需要的对象
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Eclipse下导入web项目(Some projects cannot be imported b 2020-05-20
- SpringBoot项目报错the import org.springframework.web.*ca 2020-03-07
- Cannot find tomcat目录/bin/setclasspath.sh This file is 2020-01-23
- MAVEN报错Cannot access alimaven / idea data注解不好使 2020-01-11
- 【已解决】CentOS7使用yum安装Docker显示错误:cannot find 2020-01-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash