java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to xxx(实体类)

问题场景

A项目调用B项目提供的接口返回一个Objec对象,然后把这个Object对象转化为实际的对象,然后再对这个对象处理时出现转化异常

问题重现

具体写法如下:

  1. 调用B项目提供的接口
    Object data = feignService.getDataSourceByIds(idss).getData();
  2. 强转
    List<DataSource> list = (List<DataSource>) data;
    通过这种方式进行强转并不能转化成想要的List对象,实际上list里面
    保存的时key value形式的LinkedHashMap 不能转化为DataSource对象。导致出现强转问题。

解决方案

  1. 使用阿里json解析工具
Object data = feignService.getDataSourceByIds(idss).getData();
String json = JSONObject.toJSONString(data);
return JSONObject.parseObject(json, new TypeReference<List<DataSource>>() {
});
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读