package quiestce; import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; enum Caracteristique { HOMME, BRUN, LUNETTE, CHAPEAU } class Personnage { private final EnumSet<Caracteristique> caracteristiques; public Personnage(Caracteristique... caracteristiques) { this(Arrays.asList(caracteristiques)); } public Personnage(Collection<Caracteristique> caracteristiques) { this.caracteristiques = EnumSet.copyOf(caracteristiques); } public boolean hasCaracteristique(Caracteristique caracteristique) { return caracteristiques.contains(caracteristique); } } public class Jeu { public static void main(String[] args) { Personnage p = new Personnage(Caracteristique.HOMME, Caracteristique.LUNETTE); for (Caracteristique caracteristique : Caracteristique.values()) System.out.println(caracteristique + " " + p.hasCaracteristique(caracteristique)); } }
enum Groupe { SEXE, CHEVEUX; } enum Caracteristique { HOMME(Groupe.SEXE), FEMME(Groupe.SEXE), BRUN(Groupe.CHEVEUX), BLOND(Groupe.CHEVEUX), ROUX(Groupe.CHEVEUX); private final Groupe groupe; private Caracteristique(Groupe groupe) { this.groupe = groupe; } }