本文针对List类型不是单一的数据类型的情况,如:List类型是一个类,其中包含了多个数据类型不同的成员变量。
List<Invoice> invoiceList =
new
ArrayList();//List定义
InvoiceBean invoice = new InvoiceBean(); //create new element
for (int j = 0; j < 9; j++) {
invoice.setInvoiceNum(...getString(j);
invoiceList.add(invoice);
}
结果发现,invoiceList 包含10个相同的元素,这不是我们想要的结果。
错误原因在于我们每次设值和插值到List的时候用的都是同一个invoice 对象。
正确做法是每次都要新建一个element, 即在for循环开始的时候加上:
InvoiceBean invoice = new InvoiceBean(); //create new element
Code Snippet:
for (int j = 0; j < 9; j++) {
InvoiceBean invoice = new InvoiceBean(); //create new element
invoice.setInvoiceNum(...getString(j);
invoiceList.add(invoice);
}