Forum Programmation.java Enum et classe interne

Posté par (site web personnel) .
Étiquettes : aucune
0
27
mar.
2012

Bonjour,

Je constate qu'un code utilisant un switch sur une enum me génère un fichier .class supplémentaire. Quelqu'un en connait la raison ?

Un peu plus en détail.

 public class Joueur{
 private Couleur nom;
 public Joueur(Couleur unNom){
 nom = unNom;
 }
 public Couleur getNom(){
 return nom;
 }
 @Override
 public String toString(){
 String s = "";
 switch(nom){
 case ROUGE : s = "joueurRouge";break;
 case JAUNE : s = "joueurJaune";break;
 }
 return s;
 }
 @Override
 public boolean equals(Object obj){
 if( !(obj instanceof Joueur))
 return false;
 Joueur autreJoueur = (Joueur) obj;
 return nom == autreJoueur.nom;
 }
 @Override
 public int hashCode(){
 return nom.toString().hashCode();
 }
 }

(J'ai retiré les commentaires). Si je compile, j'obtiens deux fichiers; Joueur.class et Joueur1ドル.class. Si je commente le switch le deuxième fichier disparait. L'enum Couleur est définie dans un autre fichier.

Une info ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.