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