从存储在arraylist中的对象调用方法

时间:2015-02-26 01:44:10

标签: java arrays for-loop methods arraylist

我想知道为什么这不起作用。我查看了另一篇文章,其中提出了我用于从存储在数组中的对象调用方法的方法,但它似乎没有用。我应该澄清一下。我指的是printPurchasestotalCost方法。更具体地说,它们似乎不允许我从索引Purchase的{​​{1}}对象调用,而是似乎是从i部分调用。它在我的eclipse应用程序中以红色突出显示。

get(i)

2 个答案:

答案 0 :(得分:1)

您的退货声明应在return""之间留出空格。

public String printPurchases(){
    for(int i=0; i<purchases.size(); i++){
        return name+"\t"+address+purchases.get(i).toString();
    }
    return "";
}

public double totalCost()假设返回double。您没有返回double

public double totalCost(){
    total=0;
    for(int i=0; i<purchases.size(); i++){
        total = total+purchases.get(i).getCost();
    }

    return total;
}

另外,正如评论中所述,使用以下内容指定ArrayList要填充的内容:

private ArrayList<Purchase> = new ArrayList<Purchase>();

答案 1 :(得分:1)

当您存储它们时,类型信息,即Purchase的attr和方法将被删除(向上翻转为Object,没有自定义 attr或方法)在没有通用类型的ArrayList中,尝试将它们存储为:

private ArrayList<Purchase> purchases = new ArrayList<>();