Java: List中添加一个元素

本文针对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);
}


猜你喜欢

转载自blog.csdn.net/bettyHHUC/article/details/78889963