des enum sécurisés et propres
J'ai un petit soucis avec les enums. Je n'arrive pas à trouver une solution qui me convienne pleinement.
Pour l'instant j'utilise ce genre de chose:
Code:
1 2 3 4 5 6 7 8 9
|
public static final int SEASON_WINTER = 0;
public static final int SEASON_SPRING = 1;
public static final int SEASON_SUMMER = 2;
public static final int SEASON_FALL = 3;
.
.
.
int x=SEASON_WINTER; |
mais c'est pas terrible car ne me garanti que les valeurs sont bien distinctes. :?
Quand à la variante suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public static class season{
public static int winter() {return 0;}
public static int spring() {return 1;}
public static int summer() {return 2;}
public static int fall() {return 3;}
}
.
.
.
int x=season.winter(); |
c'est à peu de chose près la même chose.
Je pensai avoir trouvé mon bonheur avec enum qui fleurait bon le c. :P
Code:
1 2 3 4 5 6
|
enum Season { WINTER, SPRING, SUMMER, FALL }
.
.
.
int x=Season.WINTER.getOrdinal(); |
Mais je ne peux pas utiliser directement Season.WINTER comme un int.
Et le getOrdinal() est un peu lourdot.
Je pense donc que je passe à côté de qqchose.8O
Merci de me dire quoi.;)