List添加map,后添加的map覆盖前面的问题


        List resultList = new ArrayList();
        Map map = new HashMap();
        while(rs.next()){
            String userid = rs.getString("userid");
            String staffName = rs.getString("staffname");
            String busName = rs.getString("bus_name");
            String loginId = rs.getString("loginid");
            Long status = rs.getLong("status");
            map.put("userid", userid);
            map.put("staffName",staffName);
            map.put("busName", busName);
            map.put("loginId", loginId);
            map.put("status", status);
            resultList.add(map);
        }            

上面这段代码最后resultList的map元素都是相同的

解决办法 外面的map先不要赋值,while循环的时候每次都是同一个map,在循环里面赋值,每次都是一个新的map集合,就不会覆盖前面的值

     List resultList = new ArrayList();
        Map map = null;
        while(rs.next()){
            map = new HashMap();
            String userid = rs.getString("userid");
            String staffName = rs.getString("staffname");
            String busName = rs.getString("bus_name");
            String loginId = rs.getString("loginid");
            Long status = rs.getLong("status");
            map.put("userid", userid);
            map.put("staffName",staffName);
            map.put("busName", busName);
            map.put("loginId", loginId);
            map.put("status", status);
            resultList.add(map);
        }               

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM