Bonjour,

Je voudrais vous soumettre un petit détail qui me turlupine.

J'ai découvert assez récemment qu'il est possible d'utiliser les enum dans un switch. Seulement, en temps ordinaire, lorsqu'on référence un enum, on le préfixe avec le type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
enum Cardinal {
    OUEST, SUD, EST, NORD
}

Cardinal c = Cardinal.OUEST;
Or, lorsque je veux utiliser un enum dans un switch, le compilateur refuse la référence au type, il faut lui spécifier directement le nom de l'enum :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
switch (c) {
    case OUEST :
    ...
}
Je trouve cela étrange, et je ne comprends pas pourquoi le compilateur refuse de compiler ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
switch (c) {
    case Cardinal.OUEST :
    ...
}