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

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

如何在不覆蓋以前的副本的類中將對(duì)象添加到 ArrayList 中

如何在不覆蓋以前的副本的類中將對(duì)象添加到 ArrayList 中

楊魅力 2022-09-01 18:00:01
嘗試創(chuàng)建更多的汽車實(shí)例,但是當(dāng)我將它們添加到數(shù)組中時(shí),它們將覆蓋以前的實(shí)例,這是因?yàn)锳rrayList位于我創(chuàng)建的每個(gè)實(shí)例中,因此創(chuàng)建一個(gè)具有ArrayList來(lái)保存所有內(nèi)容的清單類會(huì)更好嗎?import java.util.ArrayList;public class Automobile {private String make;private String color;private int year;private int mileage;private ArrayList<Automobile> autoArray = new ArrayList<>();public Automobile(String make, String color, int year, int mileage) {    this.make = make;    this.color = color;    this.year = year;    this.mileage = mileage;    autoArray.add(this);}//setters (mutators)public void setYearModel(int y) {    year = y;}public void setMake(String type) {    make = type;}public void setColor(String col) {    color = col;}public void setMileage(int miles) {    mileage = miles;}public String toString() {    return "test = " + color + "; test " + year + "; test " + year + "; test " + make;}private ArrayList addVehicle(String m, String c, int y, int mile) {    this.make = m;    this.color = c;    this.year = y;    this.mileage = mile;    autoArray.add(this);    return autoArray; }    public static void main(String[] args) {    Automobile cars = new Automobile("kelvin","luke", 6, 9 );    cars.autoArray.forEach(System.out::println);    cars.addVehicle("horny","luke", 6, 9 );    cars.autoArray.forEach(System.out::println);}}
查看完整描述

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


查看完整回答
反對(duì) 回復(fù) 2022-09-01
?
PIPIONE

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);

}


查看完整回答
反對(duì) 回復(fù) 2022-09-01
?
侃侃無(wú)極

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,然后將它們添加到列表中。


查看完整回答
反對(duì) 回復(fù) 2022-09-01
  • 3 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報(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)