Por ejemplo (y esto está muy simplificado), supongamos que tengo una clase para cada carta en una baraja de cartas ... p. una clase KingOfSpaces
, una clase QueenOfSpades
, una clase JackOfDiamonds
, etc. Todas las cuales se extienden a Card
. Puede haber varias instancias de KingOfSpaces
.En Java, ¿cómo puedo verificar si una colección contiene una instancia de una clase específica?
Y tengo un ArrayList<Card>
, con 5 objetos. ¿Cómo puedo verificar si ese ArrayList
contiene al menos un AceOfDiamonds
?
Estoy seguro de que no es tarea ... Terminé mi carrera hace 5 años :) Supongo que eso es lo que estaba buscando. Estaba pensando que podría haber algo más sucinto como Arrays.containsInstanceOf (hand, AceOfDiamonds.class), pero supongo que no. La razón más profunda por la que lo hago así es porque las cartas, en lugar de ser como cartas, son más parecidas a las cartas de Magic: The Gathering, donde cada carta tiene una habilidad especial que modifica la "tabla" en algunas camino. Y al igual que Magic, puede ser necesario agregar nuevas tarjetas más tarde. –