Bonjour,

J'ai un petit problème de switch. Je m'en sers très peu en Java mais j'en ai besoin d'un pour une fois.

Je travaille avec la version 6.0 de Java.

D'abord, je me suis fendue d'une recherche et j'ai trouvé un extrait de FAQ : Pourquoi mon switch ne veut-il pas compiler ?

Voici mon code pour le switch :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
switch (choix) {
	case MaClasse.CHOIX_1 : ...; break;
	case MaClasse.CHOIX_2 : ...; break;
	case MaClasse.CHOIX_3 : ...; break;
}
Voici le fichier MaClasse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class MaClasse {
	public static final Integer CHOIX_1= new Integer(0);
	public static final Integer CHOIX_2 = new Integer(1);
	public static final Integer CHOIX_3 = new Integer(2);
}
Le switch n'accepte que les types simples mais en Java 6 le Integer est nativement transformé en int si besoin est et même avec intValue() derrière ca ne fonctionne pas mieux. De toute façon, l'erreur ne concerne pas le type mais remet en question que CHOIX_1, CHOIX_2 et CHOIX_3 soient des constantes :
Citation Envoyé par Compilateur
case expressions must be constant expressions
Et là... je suis perdue !

PS : J'ai honte de poser une question aussi simple