繁体   English   中英

总结对象类型的数组

[英]sum up an array of object type

我试图总结一个包括两种不同类型的数组的数组。

这是我的方法以及我要总结的两种不同类型的数组:

public void test3() {
    // ArrayList tickets declaration required here
    ArrayList<Object> tickets = new ArrayList<Object>();

    tickets.add(new SeasonTicket(10.50, 30));
    tickets.add(new SeasonTicket(21.0, 30));
    tickets.add(new FirstClassSeason(10.50, 30, 10.50));
    tickets.add(new FirstClassSeason(21.0, 30, 21.0));

    double total = 0.0;

    for (int i=0; i< tickets.size(); i++)
    {
      total += tickets.get(i);      
    }
    ...
}

当我尝试运行该方法时,出现以下错误:“对于参数类型double,Object,未定义运算符+ =”。 有人知道如何解决该错误吗?

**找到解决方案,我应该包括“

for (int i=0; i< tickets.size(); i++)
{
    total += ((SeasonTicket) tickets.get(i)).getCost();     
}

“ 谢谢!

“对于参数类型double,Object,未定义运算符+ =”

是的,没错,当您执行此操作时,您不能直接执行该操作

 tickets.get(i); 

您在列表中获取了对象,因此无法使用该对象进行数学运算

您需要改为调用该对象的方法,并且该值的返回值将附加到变量

total += tickets.get(i).getSomething(); 

您正在尝试添加对象。 这没有任何意义。 我想您想总结一下机票价格,例如:

for (int i = 0; i < tickets.size(); i++)
{
    total += tickets.get(i).getPrice();      
}   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM