Java:复制最后一个值的哈希集
出于某种原因,我放入哈希集中的所有条目都复制了最后一个条目(尽管它们不同)。我不知道这是为什么,我已经尝试了很多方法来解决它 以下是我将条目放入哈希集中的代码:Java:复制最后一个值的哈希集,java,bukkit,Java,Bukkit,出于某种原因,我放入哈希集中的所有条目都复制了最后一个条目(尽管它们不同)。我不知道这是为什么,我已经尝试了很多方法来解决它 以下是我将条目放入哈希集中的代码: public Arena(String name) { Arena.data = new ArrayList<PlayerData>(); Arena.name = name; Arena.players = Integer.valueOf(Main.getPlugin().getConfig().g
public Arena(String name) {
Arena.data = new ArrayList<PlayerData>();
Arena.name = name;
Arena.players = Integer.valueOf(Main.getPlugin().getConfig().getString("MaxUsers"));
Arena.MinPlayers = Integer.valueOf(Main.getPlugin().getConfig().getString("MinUsers"));
ConfigurationSection spawn = Main.getPlugin().getConfig().getConfigurationSection("Arenas."+name+".spawn");
spawnPoint = LocationUtil.locationFromConfig(spawn, true);
state = ArenaState.WAITING;
Arena.playerManager = new PlayerManager(this);
arenas.add(this);
}
任何帮助都将不胜感激。对不起,代码太乱了,考虑到以下代码,我只有12:P:
Arena.name = name;
。。。看起来您的名称变量是静态的。(其他一些变量也是如此。)
这意味着不是每个Arena
实例都有一个单独的名称,而是只有一个变量与类型本身关联。您几乎肯定希望使用实例变量而不是静态变量,因此您可以使用:
this.name = name;
(等)在您的构造函数中。有关更多信息,请参阅。给定此代码:
Arena.name = name;
。。。看起来您的名称变量是静态的。(其他一些变量也是如此。)
这意味着不是每个Arena
实例都有一个单独的名称,而是只有一个变量与类型本身关联。您几乎肯定希望使用实例变量而不是静态变量,因此您可以使用:
this.name = name;
(等)在您的构造函数中。有关更多信息,请参阅。给定此代码:
Arena.name = name;
。。。看起来您的名称变量是静态的。(其他一些变量也是如此。)
这意味着不是每个Arena
实例都有一个单独的名称,而是只有一个变量与类型本身关联。您几乎肯定希望使用实例变量而不是静态变量,因此您可以使用:
this.name = name;
(等)在您的构造函数中。有关更多信息,请参阅。给定此代码:
Arena.name = name;
。。。看起来您的名称变量是静态的。(其他一些变量也是如此。)
这意味着不是每个Arena
实例都有一个单独的名称,而是只有一个变量与类型本身关联。您几乎肯定希望使用实例变量而不是静态变量,因此您可以使用:
this.name = name;
(等)在您的构造函数中。有关更多信息,请参阅。12年来仍然令人印象深刻!12年来仍然令人印象深刻!12年来仍然令人印象深刻!12年来仍然令人印象深刻!谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)