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

Java 从存储在arraylist中的对象调用方法,java,arrays,for-loop,methods,arraylist,Java,Arrays,For Loop,Methods,Arraylist,我想知道为什么这不起作用。我看了另一篇文章,其中提出了我用于从存储在数组中的对象调用方法的方法,但它似乎不起作用。我应该澄清一下。我指的是printphases和totalCost方法。更具体地说,他们似乎不允许我从索引i的Purchase对象调用,而是从get(i)部分调用。在我的eclipse应用程序中,它以红色突出显示 public class Customer { private String name, address; double total; priva

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

public class Customer {

    private String name, address;
    double total;
    private ArrayList purchases = new ArrayList();

    public Customer(String name, String address){
        this.address=address;
        this.name=name;
    }

    public void makePurchase(Purchase purchase){
        purchases.add(purchase);
    }

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

    public double totalCost(){
        total=0;
        for(int i=0; i<purchases.size(); i++){
            total = **total+purchases.get(i).getCost();**
        }
    }
}
公共类客户{
私有字符串名称、地址;
双倍总数;
私有ArrayList购买=新建ArrayList();
公共客户(字符串名称、字符串地址){
这个地址=地址;
this.name=name;
}
公共采购(采购){
采购。添加(采购);
}
公共字符串printPurchases(){

对于(int i=0;i您的return语句应该在
return
之间有一个空格

此外,如注释中所述,使用以下方法指定要填充的
ArrayList

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

类型信息,即
购买的属性和方法
将被删除(向上转换到
对象
,没有自定义属性或方法),当您将它们存储在没有泛型类型的
数组列表
中时,请尝试如下方式存储它们:

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

什么“不起作用”?什么不起作用?使用列表界面时,请指定要存储的对象。在您的情况下,请在
public double totalCost(){…}中缺少ArrayListreurn后添加
private ArrayList<Purchase> = new ArrayList<Purchase>();
private ArrayList<Purchase> purchases = new ArrayList<>();