如何将字符串添加到数组?

How can I add a string to an array?

我一直在尝试弄清楚如何将字符串添加到数组中。 我有一个代表列表的 class,我想通过调用 addTo 将 "cup" 添加到列表中。 我试过这个,但它填满了整个数组,然后当再次调用该方法时它会覆盖整个数组:

private String[] option;

private int position;

public Menu()
{
    option = new String[0];
    position = 0;
}

public void addTo(java.lang.String option)
{
    option = new String[20];
    ++position;
    option[position] = option;

}

希望这会更好。

这一行

option = new String[20];

正在清除您的列表。

例如,您应该只在构造函数中初始化您的列表。 您的菜单 class 可以是这样的:

public class Menu{
    private final int LIMIT = 20;
    private String[] option;
    private int position;

    public Menu()
    {
        option = new String[LIMIT];
        position = 0;
    }

    public void addTo(String item)
    {
        if(position == LIMIT)
        {
            // We do not want a IndexOutOfBoundsException here
            return;
        }
        option[position++] = item;
    }

    public void printList(){
        for(int i = 0; i< LIMIT; i++)
        {
            System.out.println( i + ": " + option[i] );
        }
    }

    public static void main(String[] args)
    {
        Menu m = new Menu();
        m.addTo("book");
        m.addTo("cup");
        m.addTo("test");

        m.printList();
    }

}

已测试并正常工作!

此致,

米格尔