ListIterator litr = PuntenLijst.listIterator();
while(litr.hasNext()){
Object Punt = litr.next();
Punt.print();
}
PuntenLijst是一个ArrayList,包含来自另一个Class的对象实例。
现在我已经创建了一个方法print(),它打印出来自该对象(另一个类)的东西。
使用这个循环,我尝试遍历ArrayList,然后使用另一个类的print()方法,但它似乎没有工作。
有人可以帮帮我吗?
答案 0 :(得分:3)
Object Punt = litr.next();
Punt.print();
您需要将Punt
转换为适当的类,其中包含ArrayList。
当然print()
不是Object
class
假设你有这样的ArrayList: -
ArrayList<YourClass> PuntenLijst
将您的调用更改为: -
Object Punt = litr.next();
((YourClass)Punt).print();
或者: -
YourClass Punt = litr.next();
Punt.print();
答案 1 :(得分:2)
将您获得的对象作为litr.next()
的响应投射到该类型的相应类型和调用方法。
示例:
Punt puntObj =(Punt) litr.next();
puntObj.print();
答案 2 :(得分:2)
将Punt
投射到包含Print()
方法的类型。
while(litr.hasNext()){
TYPE_THAT_HAS_PRINT Punt = (TYPE_THAT_HAS_PRINT) litr.next();
Punt.print();
}
答案 3 :(得分:0)
为什么不用于:每个循环?如果您已使用正确的类型定义了PuntenLijst,则JVM会对转换进行处理。
答案 4 :(得分:0)
您需要将Object
类型转换为您的实际对象类型。