簡體   English   中英

更新包含多重數據類型的ArrayList

[英]Updating an ArrayList that contains multipe datatypes

我正在嘗試更新數組列表,並遇到我似乎無法撼動的錯誤(這里已經審查了許多類似的問題)。

主班

public static void main(String[] args) {
    ArrayList<Player> PLAYERS = new ArrayList<Player>();
    PLAYERS.add(new Player("char1", 10, "A"));
    PLAYERS.add(new Player("char2", 20, "B"));

后來,由於循環的結果(運行沒有問題),我嘗試使用-更新上述條目之一

PLAYERS.set(index, ("char1", variable, variable));

最后一行標記錯誤 如圖所示。

玩家等級

public class Player {
public String character;
public int money;
public String reference;

Player(String character, int money, String reference){
    this.character = character;
    this.money = money;
    this.reference = reference;
}

}

我嘗試了幾種不同的更新方式,包括使用getters / setters方法,以及使數組中的不同對象本身就是變量,但似乎無法解決。

PLAYERS.set(index, ("char1", variable, variable));

無效的Java語法。 你很可能是說

PLAYERS.set(index, new PLAYER("char1", variable, variable));

另外,請遵循標准的Java命名約定: PLAYERS應該是players

您的ArrayList 包含多種數據類型。 它包含Player對象和唯一的Player類型的對象,並且您似乎試圖使事情變得過於復雜。 您只需從ArrayList中獲取播​​放器,然后對其進行修改。

Player p = players.get(i);
p.setName("foo");
p.setMoney(50);

編譯器是正確的。 它不知道您的意思(“ char1”,變量,變量)。 嘗試使用new Player(“ char1”,variable,variable);更新它;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM