[英]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.