使用ArrayList中Object中另一个Class的方法

时间:2012-10-16 19:58:24

标签: java

    ListIterator litr = PuntenLijst.listIterator();

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

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

现在我已经创建了一个方法print(),它打印出来自该对象(另一个类)的东西。

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

有人可以帮帮我吗?

5 个答案:

答案 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类型转换为您的实际对象类型。