3 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要?jiǎng)?chuàng)建一個(gè)新的 in,而不是修改現(xiàn)有的 :AutomobileaddVehicle()
private ArrayList addVehicle(String m, String c, int y, int mile) {
autoArray.add(new Automobile(m, c, y, mile));
return autoArray;
}
這應(yīng)該可以解決您的問(wèn)題。但是,是的,理想情況下,您還應(yīng)該像其他注釋者建議的那樣重構(gòu)代碼,因?yàn)樵?的每個(gè)實(shí)例中創(chuàng)建一個(gè) 沒(méi)有意義。ArrayList<Automobile>Automobile

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
試著更具體地思考你的情況。假設(shè)您的類表示一個(gè)實(shí)際的、真實(shí)的汽車世界。Automobile
對(duì)于一個(gè)人來(lái)說(shuō),有一個(gè)其他汽車的列表有意義嗎?您的現(xiàn)實(shí)世界汽車是否包含其他汽車?Automobile
這里更好的方法是從類中完全刪除 。相反,該列表應(yīng)保留在您向其添加新汽車的其他地方。ArrayListAutomobile
以下是一種可能的新方法供您考慮:main()
public static void main(String[] args) {
ArrayList<Automobile> autos = new ArrayList<>();
autos.add(new Automobile("kelvin", "luke", 6, 9));
autos.add(new Automobile("horny", "luke", 6, 9));
autos.forEach(System.out::println);
}

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
您的問(wèn)題在于對(duì)象的存儲(chǔ)方式。通過(guò)更改 Automobile 類的參數(shù),然后添加到列表中,您只需使用已編輯的參數(shù)再次添加同一實(shí)例。this
您需要將 List 移到 Automobile 類之外,然后使用構(gòu)造函數(shù)創(chuàng)建新的 Automobiles,然后將它們添加到列表中。
添加回答
舉報(bào)