Java : Comment employer Enum dans le commutateur
En employant des enums dans un commutateur, il est presque normal de supposer qu'ils seront employ�s comme un commutateur r�gulier. Adapter malheureusement � des enums, Java a d� augmenter ses sp�cifications et les enums dans le commutateur se comportent diff�remment que des rapports de commutateur r�guliers de deux significatifs et de mani�res non triviales.
Javac de Sun indique - ��l'�tiquette de cas de commutateur d'enum doit �tre le nom sans r�serve d'une constante d'�num�ration. dans son message d'erreur �nigmatique. C'est probablement fran�ais � beaucoup. Je sais que j'ai eu un moment difficile comprenant ce rapport.
Laissez-ainsi nous comprennent ceci avec un exemple simple :
commutez (UserAgent.FIREFOX) {
cas (UserAgent.IE) :
�chouer (corde d'UserAgent.IE.to () + ��unexpected.") ;
}
Ceci regarde �videmment correct ne fait pas il ? Malheureusement il est erron� de deux mani�res diff�rentes.
Premi�rement le cas devrait �tre sans parenth�ses. Seulement l'IE devrait �tre employ� deuxi�mement mais pas UserAgent.IE. Illustrons tous les deux points ci-dessus avec un exemple (correct) simple :
commutez (UserAgent.FIREFOX) {
IE de cas :
�chouer (corde d'UserAgent.IE.to () + ��unexpected.") ;
}
Pour r�capituler :
- Au cas o� le rapport l'enum devrait �tre employ� sans parenth�ses.
- Au cas o� seulement le nom sans r�serve d'enum (comme FIREFOX ou IE dans l'exemple ci-dessus) devrait �tre employ�.
Tellement maintenant vous ne feriez plus d'erreurs avec des enums de Java, droite ?
Class� sous des nouvelles de titre, comment �, logiciel de Java, logiciel libre, programmant, Sun |�
� |
� RSS 2.0 |�
� Trackback cet article | �
� Envoyez cet article
Vous pouvez �galement aimer lire |



































