使数组中的一个位置等于一个新对象

时间:2013-05-15 13:14:33

标签: java arrays object

如何使数组中的一个位置等于一个新对象?

public SalesItem findItem(String itemCode){

    SalesItem[] item = new SalesItem();
    for (int i=0; i<size; i++) {

        if(itemCode.equals(items[i].getItemCode())){
            if(items[i].getQuantity() > 0) {
                item = items[i];
                items[i].setQuantity(items[i].getQuantity()-1);
            }
    }
 return item;
}

我试图找到数组中的位置包含字符串“itemCode”,然后使用该数组的位置使其等于我声明的新项目,以便我可以返回新项目被添加到购物篮中。

我知道我没有使用SalesItem对象做某事,但我不知道是什么。

2 个答案:

答案 0 :(得分:3)

您正在声明一个SalesItems数组而不是一个对象,因此item的声明应该是这样的:

SalesItem item = new SalesItem();

编辑:您可能还想完全删除新对象的创建,因为在item分配值items[i]后将不会使用它。所以只需声明如下:

SalesItem item = null;

item = items[i]之后,item将包含对您要查找的数组中对象的引用,如果找不到,则为null。

答案 1 :(得分:0)

假设代码的其他部分是正确的(例如getQuantity()中的setQuantity()SalesItem),我唯一能看到的错误是:

SalesItem[] item = new SalesItem();

我想你只是想做:

SalesItem item = null;

如果没有项目与您要查找的findItem()匹配,null将返回itemCode