Whales_w
Whales_w
2019-07-22 17:37
采纳率: 40%
浏览 1.3k
已采纳

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条回答 默认 最新

  • wojiushiwo945you
    毕小宝 2019-07-23 09:08
    已采纳

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

    点赞 评论
  • weixin_41862148
    懵懵的小哥 2019-07-22 17:45

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

    点赞 评论
  • qq_19309473
    Roc-xb 2019-07-22 21:04

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

    点赞 评论
  • sdf295953
    program-你懂的 2019-07-22 23:35

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

    点赞 评论
  • xwh1314
    xwh1314 2019-07-23 12:44
    Map maps = new HashMap();
     String uname = list1.get(0);
     maps.put("uname",uname);
      //for (User user : list1) {
              //maps.put(user.getName(),uname);           
            //}
    
    点赞 评论

相关推荐