Sp4M- | Bonjour,
j'ai un petit soucis actuellement avec l'enum de java, que je souhaite utiliser avec un switch.
Basiquement, je voudrais utiliser le switch sur un type int (qui est final comme il se doit pour etre connu à la compilation),
mais j'obtiens quand même le traditionnel "case expressions must be constant expressions".
Voila le code de mon enum :
Code :
- public enum SubmenuItems {
- MENU_NEW (0, "New" ),
- MENU_OPEN (1, "Open" ),
- MENU_SAVE (2, "Save" ),
- MENU_SAVEAS (3, "Save As ..." ),
- MENU_PRINT (4, "Print" );
- public final int ID;
- public final String Name;
- SubmenuItems(int ID, String Name) {
- this.ID = ID;
- this.Name = Name;
- }
- }
|
Et le switch :
Code :
- int menu_ID = -1;
- ...
- switch (menu_ID) {
- case SubmenuItems.MENU_NEW.ID:
- ...
- break;
- }
|
Aurais-je raté quelque chose dans la déclaration de mon enum ? |