ArrayList中存儲數組時需要注意到的問題


因為數組的地址是不會發生變化的,每次在數組中的內容改變后,將數組添加到ArrayList中時,會導致ArrayList中的每個內容都是最后添加進去的數據。案例如下所示:

Object []objs = new Object[count];
while(rs.next()){
                for(int i = 0; i < count; i++){
                    objs[i] = rs.getString(i+1);
                }
                al.add(objs);
            }

假設rs中有20個數據,那么al中將會擁有20個rs最后的數據,解決的辦法是:

while(rs.next()){
Object []objs = new Object[count];
                for(int i = 0; i < count; i++){
                    objs[i] = rs.getString(i+1);
                }
                al.add(objs);
            }

這樣每次重新創建一個數組,它們的地址都是不一樣的,所以添加進去的引用也是不一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM