簡體   English   中英

使用ArrayList對象中另一個類的方法

[英]Use method from another Class in Object from ArrayList

    ListIterator litr = PuntenLijst.listIterator();

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

PuntenLijst是一個ArrayList,其中包含另一個類的對象實例。

現在,我做了一個方法print(),從該對象(另一個類的對象)中打印出一些東西。

通過這個循環,我嘗試循環遍歷ArrayList,然后使用另一個類中的print()方法,但是它似乎不起作用。

有人可以幫我嗎?

   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();

將獲得的對象作為對litr.next()響應, litr.next()為相應的類型,並在該類型上調用方法。

例:

     Punt puntObj =(Punt) litr.next();
       puntObj.print();

Punt強制轉換為包含Print()方法的類型。

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

為什么不只使用for:each循環? 如果您已使用正確的Type定義了PuntenLijst,則JVM會進行強制轉換。

您需要將Object類型轉換為實際對象的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM