Casting entre ArrayLists en Java

Lo siento, pensé que esta era una pregunta de herencia: ¡era una pregunta de ArrayList todo el tiempo!

Ok, mi problema es más específico de lo que pensaba. Entonces tengo dos familias de clases. Cartas y Zonas. Las zonas son cajas para guardar la tarjeta.

Las dos primeras subclases de Zone, ZoneList y ZoneMap están pensadas para ser dos formas diferentes de almacenar tarjetas. Otras subclases, como Hand y PokerHand, tienen sus propias formas específicas de manejar las cartas que almacenan.

Donde se complica es que la Tarjeta también tiene subclases, como PokerCard, y que las subclases de ZoneList y ZoneMap están destinadas a organizarlas.

Entonces en ZoneList tengoprotected ArrayList<Card> cardBox; y en PokerHand esperaba poder declararcardBox = new ArrayList<PokerCard>(); ya que PokerCard es una tarjeta. El error que obtengo es que aparentemente no puedo lanzar entre Card y GangCard cuando se trata de ArrayLists ... Así que estaba tratando de solucionar esto simplemente redeclarando cardBox comoprivate ArrayList<PokerCard> cardBox; dentro de PokerHand, pero eso resultó en la ocultación que estaba molestando mi programa.

¿Entonces realmente, la pregunta es acerca de la conversión entre ArrayLists? Java me dice que no puedo, ¿alguna idea de cómo puedo hacerlo?

z.

Respuestas a la pregunta(6)

Su respuesta a la pregunta