首页 > 解决方案 > 需要 Java 方面的帮助,如何将提供的项目添加到数组中

问题描述

总体目标:将提供的项目添加到数组中。您将需要增加数组大小并将新项目添加到列表的末尾。如果名称已经存在(大小写无关紧要),则不要添加该项目。String.toUpperClass除了和之外,不允许在此方法中使用任何外部类String.Equals

为了做到这一点,我写了以下内容:

public int addItem(Item newItem) {
    itemList = Arrays.copyOf(itemList, +1);
    int done=-1;
    for (int i=0;i<itemList.length;i++){
        itemList[i]=newItem;
        done=(i+1);
    }
    return done;
}

为了测试这部分代码,我使用了一个 JUnit 测试器,它失败并出现以下异常:

错误:AddItem:放入单个项目并确保其在正确的位置:预期:<[item2]> 但为 <[item1]>。

标签: javaarrays

解决方案


所以在这个 for 循环中,您将 itemList 中的项目复制到 newList

Item[] newList = new Item[itemList.length + 1];



 for(int i = 0; i<itemList.length; i++){
    newList[i] = itemList[i];
    }

您将比原始 itemList 多 1 个空间。

如果您想要来自 arrayList 的数组,我建议您使用 ArrayList。

ArrayList.toArray( T[] a )

这里的回复可以帮助你: 如何向数组添加新元素?


推荐阅读