JAVA list集合内以Map格式 强制转换map怎么做?

我从数据库取出数据放到list中想要将list转化为Map

System.out.println(list1.get(0));

打印出来的结果是 :uname:李华

list里面是以Map的格式存在的,怎么把list强制转化为Map,使用以下代码时出错了

Map maps = (Map) list1.get(0);
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map

5个回答

从异常来看,你的 list 中的元素类型不是 Map 而是 String 类型的。
所以还是需要检查你的封装返回的代码,保证是 List 的元素是 Map 类型才可以。

poquan2970
编程浪子9527 先搞清楚: ((Map)list1).get(0) 还是 (Map) (list1.get(0))
13 天之前 回复
Whales_w
Whales_w 回复毕小宝: 好的 谢谢
大约一年之前 回复
wojiushiwo945you
毕小宝 回复Whales_w: 不能,既然是 String ,就按 String 方式处理就好了,用字符串的分割得到 key 和 值。
大约一年之前 回复
Whales_w
Whales_w 新手 没用任何的框架,list里 确实是string类型的 ,他是 uname:李华 这样的格式,map 不能自己转化吗
大约一年之前 回复

新手?你用的是原生JDBC还是什么框架Hibernate还是MyBatis?

Whales_w
Whales_w 新手 没用任何的框架
大约一年之前 回复

你是要将List转换为Json数据吗?

Whales_w
Whales_w 是的 刚开始学这个
大约一年之前 回复

你这个提问有点模糊啊,你如果用jdbc的话返回的是:resultset对象,如果用的mybatis框架的话,倒是可以返回一个List 对象。
但是从你的打印结果和报错信息看,你返回的list是一个字符串集合,不是map 所以你强转的时候会报错 类转换错误。
能说一下你用的什么框架吗?

sdf295953
program-你懂的 回复Whales_w: 不能,Map是键值对存在的,可以说是一个对象。string是一个类型。两个不是同一个东西,相差太大,不能转换
大约一年之前 回复
Whales_w
Whales_w 新手 没用任何的框架,list里 确实是string类型的 ,他是 uname:李华 这样的格式,map 不能自己转化吗
大约一年之前 回复
Map maps = new HashMap();
 String uname = list1.get(0);
 maps.put("uname",uname);
  //for (User user : list1) {
          //maps.put(user.getName(),uname);           
        //}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐