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:
mais c'est pas terrible car ne me garanti que les valeurs sont bien distinctes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;![]()
Quand à la variante suivante:
c'est à peu de chose près la même chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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();
Je pensai avoir trouvé mon bonheur avec enum qui fleurait bon le c.![]()
Mais je ne peux pas utiliser directement Season.WINTER comme un int.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 enum Season { WINTER, SPRING, SUMMER, FALL } . . . int x=Season.WINTER.getOrdinal();
Et le getOrdinal() est un peu lourdot.
Je pense donc que je passe à côté de qqchose.
Merci de me dire quoi.![]()
Partager