Na przykład (i to jest bardzo uproszczone), załóżmy, że mam klasę dla każdej karty w talii kart ... np. klasa KingOfSpaces
, klasa QueenOfSpades
, klasa JackOfDiamonds
itd. Wszystkie z nich mają rozszerzenie Card
. Może być wiele wystąpień KingOfSpaces
.W języku Java, jak mogę sprawdzić, czy kolekcja zawiera wystąpienie określonej klasy?
I mam ArrayList<Card>
, z 5 obiektów w nim. Jak mogę sprawdzić, czy ta ArrayList
zawiera co najmniej jedną AceOfDiamonds
?
Jestem pewien, że to nie jest praca domowa ... Skończyłem mój stopień 5 lat temu :) Sądzę, że tego właśnie szukałem. Pomyślałem, że może być coś bardziej zwięzłego jak Arrays.containsInstanceOf (hand, AceOfDiamonds.class), ale przypuszczam, że nie. Im bardziej dogłębnie rozumiem, robię to w ten sposób, ponieważ karty, zamiast być jak karty do gry, są bardziej podobne do kart Magic: The Gathering, w których każda karta ma specjalną zdolność, która modyfikuje "stół" w niektórych droga. I podobnie jak Magic, nowe karty mogą wymagać późniejszego dodania. –