Casting zwischen ArrayLists in Java

Sorry, ich dachte, das war eine erbschaft Frage: es war eine ArrayList Frage alle zusammen!

Ok, mein problem ist spezieller als ich gedacht habe. Also ich habe zwei Familien von Klassen. Karten und Zonen. Zonen sind Kartons für holding-Karte.

Den ersten beiden Unterklassen der Zone, ZoneList und ZoneMap gemeint sind zwei unterschiedliche weisen, die Speicherung der Karten. Weitere Unterklassen, wie die Hand, und PokerHand, haben Ihre eigenen spezifischen Art und Weise des Umgangs mit den Karten, die Sie speichern.

Wo es kompliziert ist, die Karte hat auch Unterklassen, wie PokerCard, und dass sich die Unterklassen von ZoneList und ZoneMap gemeint sind, organisieren diese.

So, in ZoneList ich habe protected ArrayList<Card> cardBox; und in PokerHand erwartet, dass ich in der Lage sein, zu erklären cardBox = new ArrayList<PokerCard>(); seit PokerCard ist eine Karte. Die Fehler ich erhalte, ist, dass ich anscheinend nicht wirken kannst zwischen Karte und GangCard, wenn es um die ArrayLists... Also habe ich versucht dieses Problem beheben, indem Sie einfach redeclaring cardBox als private ArrayList<PokerCard> cardBox; innen PokerHand, aber das führte zu dem Versteck, dass der Lauschangriff war mein Programm.

ALSO wirklich, die Frage ist, über casting-zwischen ArrayLists? Java sagt mir, ich kann nicht, also irgendwelche Ideen auf, wie ich kann?

z.

  • Kommen Sie, daran zu denken! Eine andere situation, die ich denke, ähnlich ist, wenn ich Anrufe getElementAt(); und es gibt mir ein GImage, die ich auch nicht behandeln wie ein GImage! Java bekommt alle bis in die Arme, wenn ich versuche den Aufruf GImage.getName(); oder so, denn es ist kein Bild es ist ein Objekt... !
InformationsquelleAutor Ziggy | 2008-12-11
Schreibe einen Kommentar