0
    ListIterator litr = PuntenLijst.listIterator();

    while(litr.hasNext()){
       Object Punt = litr.next();
       Punt.print();
    }

PuntenLijst 是一个 ArrayList,其中包含来自另一个类的对象实例。

现在我创建了一个 print() 方法,它从该对象(另一个类的)中打印出一些东西。

通过这个循环,我尝试遍历 ArrayList,然后使用另一个类的 print() 方法,但它似乎不起作用。

有人可以帮帮我吗?

4

5 回答 5

3
   Object Punt = litr.next();
   Punt.print();

您需要将您Punt的类转换为适当的类,其中有 ArrayList。

当然print()不是Object类的方法

假设你有这样的 ArrayList: -

ArrayList<YourClass> PuntenLijst

将您的调用更改为: -

Object Punt = litr.next();
((YourClass)Punt).print();

或者: -

   YourClass Punt = litr.next();
   Punt.print();
于 2012-10-16T20:00:23.657 回答
2

将您作为响应的对象litr.next()转换为相应类型并调用该类型的方法。

例子:

     Punt puntObj =(Punt) litr.next();
       puntObj.print();
于 2012-10-16T20:00:47.990 回答
2

强制Punt转换为包含该Print()方法的类型。

while(litr.hasNext()){
       TYPE_THAT_HAS_PRINT Punt = (TYPE_THAT_HAS_PRINT) litr.next();
       Punt.print();
    }
于 2012-10-16T20:01:40.460 回答
0

为什么不只使用 for:each 循环?如果您使用正确的类型定义了 PuntenLijst,则该转换由 JVM 负责。

于 2012-10-16T20:01:43.763 回答
0

您需要将Objecttype 转换为您的实际对象的类型。

于 2012-10-16T20:03:01.653 回答