第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么存儲(chǔ)在 arrayList 中的每個(gè)對(duì)象的內(nèi)容都具有相同的值?

為什么存儲(chǔ)在 arrayList 中的每個(gè)對(duì)象的內(nèi)容都具有相同的值?

catspeake 2021-06-21 15:01:30
我有一個(gè)簡(jiǎn)單的代碼,通過(guò)“for”迭代器將多個(gè)對(duì)象存儲(chǔ)到 ArrayList 中。@RequestMapping("dataInsert")public String dataInsert(String pageNum, Model model) {    Supplier supplier = new Supplier();    List<Supplier> list = new ArrayList<Supplier>();    int number = ss.maxNum(supplier);    for (int i = 0; i < 5; i++) {        supplier.setNum(number + i);        supplier.setName("supplier" + i);        supplier.setDel("n");        supplier.setAddr("address" + i);        list.add(supplier);        System.out.println(i + " : " + supplier);       }    System.out.println(list);    int result = ss.insertList(list, supplier);    model.addAttribute("result", result);    model.addAttribute("pageNum", pageNum);    return "supplier/Insert";}下面的控制臺(tái)輸出顯示了對(duì)象的迭代數(shù)量:0 : Supplier [num=13, name=supplier0, tel=null, addr=address0, del=n]1 : Supplier [num=14, name=supplier1, tel=null, addr=address1, del=n]2 : Supplier [num=15, name=supplier2, tel=null, addr=address2, del=n]3 : Supplier [num=16, name=supplier3, tel=null, addr=address3, del=n]4 : Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n]控制臺(tái)輸出來(lái)自:System.out.println(list);外面的for語(yǔ)句代表List每個(gè)對(duì)象顯示相同的內(nèi)容。[Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n],Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n],Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n],Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n],Supplier [num=17, name=supplier4, tel=null, addr=address4, del=n]]我想要做的是創(chuàng)建一個(gè)列表,其中包含具有不同值的對(duì)象。我想代碼有問(wèn)題。我認(rèn)為中的add()方法ArrayList是將參數(shù)值附加到現(xiàn)有列表對(duì)象。有人知道為什么會(huì)這樣嗎?
查看完整描述

2 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

你一遍又一遍地添加List相同的內(nèi)容Supplier。這導(dǎo)致Suppliersetter 被重復(fù)調(diào)用并Supplier在List. 所以每一個(gè)Supplier都和最后一個(gè)一樣。


關(guān)鍵是在Supplier每次迭代中創(chuàng)建一個(gè)新的并將其添加到List:


List<Supplier> list = new ArrayList<Supplier>();

int number = ss.maxNum(supplier);

for (int i = 0; i < 5; i++) {

    Supplier supplier = new Supplier();

    // Supplier setters

    list.add(supplier);

}


查看完整回答
反對(duì) 回復(fù) 2021-06-30
  • 2 回答
  • 0 關(guān)注
  • 328 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)