Java - 从对象数组中删除对象

时间:2016-06-13 21:59:44

标签: java arrays object

我正在编写一个涉及名为Player的对象的大型程序。播放器定义如下:

public class Player
{
    public static String name;
    public static Item inventory[] = new Item[10];
    public static int items;

    /* ... */

    public void addItem(String itemName, int itemType)
    {
            if ((items + 1) <= 10) {
                    inventory[items] = new Item(itemName, itemType);
                    items++;
            }
    }

    public void removeItem(int x)
    {
            for (int i = x; i < items; i++)
                    inventory[i] = inventory[i+1];
    }
}

我现在正在添加广告资源处理,因为它比以后添加更容易,但inventory直到开发后不久才会被使用。我无法看到removeItem是否有效。我修改了一个名为strstrip的函数来实现这个... removeItem会工作吗?如果没有,为什么?

1 个答案:

答案 0 :(得分:1)

为您的课程创建单元测试,特别是如果您要构建“大而复杂的程序”。这将保证您编写的代码将在以后工作,如果您更改代码,单元测试的失败应指示问题。单元测试还使您能够检查您的方法是否按预期工作。

根据其他评论,考虑使用List接口而不是数组,除非你有一些特定的要求(我无法想象)。当然,你班上的{{1}}字段看起来很可疑。

编辑

仅表示代码的外观以及如何从main方法调用方法。

{{1}}