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年来仍然令人印象深刻!谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)谢谢你。。我现在试试这个;)