Casting zwischen ArrayLists in Java

Tut mir leid, ich dachte, dies wäre eine Vererbungsfrage: Es war die ganze Zeit eine ArrayList-Frage!

Ok, mein Problem ist spezifischer als ich dachte. Ich habe also zwei Klassenfamilien. Karten und Zonen. Zonen sind Kartons.

Die ersten beiden Unterklassen von Zone, ZoneList und ZoneMap dienen zum Speichern von Karten auf zwei verschiedene Arten. Weitere Unterklassen wie Hand und PokerHand haben ihre eigenen spezifischen Möglichkeiten, mit den von ihnen gespeicherten Karten umzugehen.

Wo es kompliziert wird, ist, dass Card auch Unterklassen wie PokerCard hat und dass die Unterklassen von ZoneList und ZoneMap diese organisieren sollen.

Also in ZoneList habe ichprotected ArrayList<Card> cardBox; und in PokerHand erwartete ich, @ deklarieren zu könncardBox = new ArrayList<PokerCard>(); da PokerCard eine Karte ist. Der Fehler, den ich bekomme, ist, dass ich anscheinend nicht zwischen Card und GangCard wechseln kann, wenn es um ArrayLists geht ... Also habe ich versucht, dies zu beheben, indem ich cardBox einfach als @ deklarieprivate ArrayList<PokerCard> cardBox; in PokerHand, aber das hat dazu geführt, dass mein Programm durch das Verstecken gestört wurde.

SO ist die Frage wirklich über das Casting zwischen ArrayLists? Java sagt mir, ich kann nicht, also irgendwelche Ideen, wie ich kann?

z.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage