我有Jorney类,你有几个变量和一些返回这些变量值的方法。
public class Jorney {
private int timeH;
public Jorney(int timeH)
{
this.timeH=timeH;
}
private int getTimeH()
{
return townFrom;
}
}
并且我有另一个类,我创建对象的ArrayList
ArrayList<Object> myJorney = new ArrayList<Object>();
现在当我向ArrayList添加一些对象时,我的目标是遍历所有'jorneys'(对象)调用getTimeH()方法并将其参数存储在变量中。
我使用迭代器从一个对象转到另一个对象但是不知道如何调用该方法。
private int totalTime()
{
Iterator<Object> i = myJorney.iterator();
int sum;
while (i.hasNext()) {
Object j = i.next();
int hour= j.getTimeH();
sum=sum+hour;
}
return sum;
我想知道是否有人可以帮助我?
答案 0 :(得分:2)
如果您需要将Journey
个对象存储在Object
的数组中,则需要演员:
Journey j = (Journey)i.next();
但是,最好使用Journey
作为其类型参数声明您的列表:
ArrayList<Journey> myJorney = new ArrayList<Journey>();
在这种情况下,您可以使用Iterator<Journey>
,并在没有演员的情况下拨打电话:
Jorney j = i.next()
答案 1 :(得分:0)
在调用Jorney
类方法之前,您需要将对象强制转换回Jorney
。试试这个:
int hour= ((Jorney)j).getTimeH();
你需要强制转换它,否则你将在Object
类实例上调用方法。并且Object
类没有名称为getTimeH()
答案 2 :(得分:0)
从Jorney
iterator
你的对象
while (i.hasNext()) {
Jorney j =(Jorney) i.next();
int hour= j.getTimeH();
sum=sum+hour;
}