Tout d'abord, je tiens à préciser que je suis beaucoup plus familier avec les enums en C# et qu'il semble que les enums en Java soient un véritable fouillis.
Comme vous pouvez le constater, j'essaie d'utiliser une instruction switch @ enums dans mon prochain exemple, mais j'obtiens toujours une erreur, quoi que je fasse.
L'erreur que je reçois est la suivante :
L'étiquette du cas qualifié
SomeClass.AnotherClass.MyEnum.VALUE_A
doit être remplacée par la constante d'énumération non qualifiéeVALUE_A
Le fait est que je bastante Je comprends l'erreur mais je ne peux pas simplement écrire la VALUE_A puisque l'enum est située dans une autre sous-classe. Existe-t-il un moyen de résoudre ce problème ? Et pourquoi cela se produit-il en Java ?
//Main Class
public class SomeClass {
//Sub-Class
public static class AnotherClass {
public enum MyEnum {
VALUE_A, VALUE_B
}
public MyEnum myEnum;
}
public void someMethod() {
MyEnum enumExample //...
switch (enumExample) {
case AnotherClass.MyEnum.VALUE_A: { <-- error on this line
//..
break;
}
}
}
}