Comment puis-je déclarer des énumérations en utilisant java

Je veux convertir cet exemple de code C # en code java:

public enum myEnum { ONE = "one", TWO = "two", }; 

Parce que je veux changer cette classe constante en enum

 public final class TestConstants { public static Ssortingng ONE = "one"; public static Ssortingng TWO= "two"; } 

 public enum MyEnum { ONE(1), TWO(2); private int value; private MyEnum(int value) { this.value = value; } public int getValue() { return value; } } 

En bref – vous pouvez définir n’importe quel nombre de parameters pour l’énumération, à condition que vous fournissiez des arguments de constructeur (et que vous définissiez les valeurs aux champs respectifs).

Comme Scott l’a noté – la documentation officielle enum vous donne la réponse. Commencez toujours par la documentation officielle des fonctionnalités et des constructions linguistiques.

Mise à jour: pour les chaînes, la seule différence est que votre argument de constructeur est Ssortingng et que vous déclarez des énumérations avec TEST("test")

les énumérations sont des classes en Java. Ils ont une valeur ordinale implicite, commençant à 0. Si vous voulez stocker un champ supplémentaire, vous le faites comme pour toute autre classe:

 public enum MyEnum { ONE(1), TWO(2); private final int value; private MyEnum(int value) { this.value = value; } public int getValue() { return this.value; } } 

Tout simplement comme suit:

 /** * @author The Elite Gentleman * */ public enum MyEnum { ONE("one"), TWO("two") ; private final Ssortingng value; private MyEnum(final Ssortingng value) { this.value = value; } public Ssortingng getValue() { return value; } @Override public Ssortingng toSsortingng() { // TODO Auto-generated method stub return getValue(); } } 

Pour plus d’informations, visitez la page Types d’Enum à partir des didacticiels Oracle Java. N’oubliez pas non plus que les énumérations ont un constructeur privé .


Mise à jour , depuis que vous avez mis à jour votre publication, j’ai changé ma valeur de int à Ssortingng .
Connexes: Java Ssortingng enum .

 public enum MyEnum { ONE(1), TWO(2); private int value; private MyEnum(int val){ value = val; } public int getValue(){ return value; } } 

Eh bien, en Java, vous pouvez également créer un enum paramétré. Supposons que vous souhaitiez créer une énumération className dans laquelle vous devez stocker classCode et className, vous pouvez le faire comme ceci:

 public enum ClassEnum { ONE(1, "One"), TWO(2, "Two"), THREE(3, "Three"), FOUR(4, "Four"), FIVE(5, "Five") ; private int code; private Ssortingng name; private ClassEnum(int code, Ssortingng name) { this.code = code; this.name = name; } public int getCode() { return code; } public Ssortingng getName() { return name; } } 
 public enum NewEnum { ONE("test"), TWO("test"); private Ssortingng s; private NewEnum(Ssortingng s) { this.s = s); } public Ssortingng getS() { return this.s; } }