如何使用java删除/添加项目到数组

时间:2013-01-24 00:42:52

标签: java arrays replace

基本上,我有一个游戏,这就是我管理谁是所有者以及谁是主持人的方式。

public static final String[] ADMINS = {"test", "jonathan", "bob"};

该行位于Settings.java

在Commands.java中我将如何发出命令

        case "giveadmin":
                            //write the users name to list
            return true;

这会物理更改数组并为其添加名称。例如,假设我在名为jerry的玩家上使用了giveadmin命令。我如何添加代码,以便在Settings.java中更改此数组

public static final String[] ADMINS = {"test", "jonathan", "bob"};

到此

public static final String[] ADMINS = {"test", "jonathan", "bob", "jerry"};

并且不,我只是不想像其他所有数组一样追加名称,我想在打开课程时看到jerry添加到数组中的名称。

2 个答案:

答案 0 :(得分:1)

我不建议这样做。而是编写一个文件,该文件是所有管理员用户名的分隔符(例如新行)。

当您的程序启动时,请阅读该文件并在文件中创建每个名称的ArrayList<String>(或其他集合)。

如果要添加新名称,请打开文件,将其追加到最后,保存,然后将其添加到ArrayList<String>。如果文件已被另一个程序实例(或其他)同时修改,则必须再次打开该文件。

这样做的好处是,无法阅读java的非技术人员仍然可以使用记事本编辑管理员文本文件。

答案 1 :(得分:1)

改变自己的源代码的程序是一个非常糟糕的主意。首先不仅难以做到这一点,你将无法保持一致的游戏。每当添加管理员时,必须重新编译代码(耗时的过程),然后重新启动游戏。

更好的方法是将所有这些信息存储在配置/ XML文件中。格式的东西

ADMINS= test, jonathan, bob
MODS= kyle, zach, bill

这样,您可以在启动时逐行读取文件,并在每行上读取String.split()以将名称解析为数组。

添加管理员时,您只需创建一个新数组并使用附加的新值复制旧值,并将其写入配置文件中的相应位置。