1. 程式人生 > >Java List中新增一個物件多次

Java List中新增一個物件多次

在實際應用場景中,可以需要在一個List中新增多個物件,在使用的時候有個誤區就是將一個物件新增多次到List中,導致資料不一致。

測試程式碼:


public class test {

    public static void main(String[] args) {
        List<CreditLoanXMLInfo> list = new ArrayList();
        CreditLoanXMLInfo creditLoanXMLInfo = new CreditLoanXMLInfo();

        for (int i = 0; i < 3; i++) {
            creditLoanXMLInfo.setAttrvalue(i + "");
            list.add(creditLoanXMLInfo);
        }

        System.out.println(list.size());
        for (CreditLoanXMLInfo a :list){
            System.out.println(a.getAttrvalue());
        }
    }
}

結果輸出

3
2
2
2

可以看到,程式碼中我們想要儲存0,1,2的值

實際上list儲存的是同個物件,這個物件儲存的是最後一次設定的那個值2,不是想要的結果,所以不能這樣使用。