Convertir un int en une valeur d'enum
Salut
J'ai une enum et je souhaiterais affecter une variable de ce type à partir d'une valeur int.
A part un switch je n'ai pas trouvé d'autre syntaxe. Il doit bien y avoir mieux ?!
Dans la doc il est interdit d'utiliser de constructeur public pour les enums.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
public static enum ProtocoleVersion
{
VERSION_ONE(1), VERSION_TWO(2);
int _version ;
ProtocoleVersion(int version)
{
_version = version ;
}
}
private ProtocoleVersion _protocoleVersion ;
public void setProtocole( int protocoleVersion )
{
switch( protocoleVersion )
{
case 1:
_protocoleVersion = ProtocoleVersion.VERSION_ONE ;
break ;
case 2:
_protocoleVersion = ProtocoleVersion.VERSION_TWO ;
break ;
default:
throw new Exception("Invalid protocole version");
}
} |
Je trouve pas comment faire mieux que le contenu de la méthode void setProtocole( int protocoleVersion ).
Merci pour vos idées,
cyrille