Enum java de type string
Résolu/Fermé
Flog78
Messages postés
16
Date d'inscription
mercredi 28 novembre 2012
Statut
Membre
Dernière intervention
17 mai 2013
-
Modifié par Flog78 le 28/11/2012 à 11:34
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 28 nov. 2012 à 14:11
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 28 nov. 2012 à 14:11
A voir également:
- Enum java de type string
- Cannot access offset of type string on string - Forum PHP
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Java apk - Télécharger - Langages
- Incompatibilité de type vba ✓ - Forum Programmation
2 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
28 nov. 2012 à 14:03
28 nov. 2012 à 14:03
Les enum sont une bonne idée, d'autant qu'en Java ce sont des classes puissantes auquel on peut rajouter des champs, constructeurs et méthodes, pour les manipuler comme on veut :
Déclaration simple :
Déclaration riche :
Remarque : s'il s'agit juste de modifier le toString pour mettre le nom de l'enum en minuscules, le champs str est inutile et on pourrait faire directement comme ça :
Déclaration simple :
enum Mobilier { TABLE, CHAISE, BUREAU }
public class Test
{
public static void main(String[] args)
{
Mobilier mobilier = Mobilier.CHAISE;
System.out.println(mobilier); // "CHAISE"
}
}
Déclaration riche :
enum Mobilier
{
// Les objets énumérés sont forcément au début de la déclaration
// Ils doivent faire appel à un des constructeurs définis
TABLE("table"), CHAISE("chaise"), BUREAU("bureau");
private String str;
// Les constructeurs ne peuvent pas être protected ou public
private Mobilier(String val)
{
str = val;
}
public String toString()
{
return str;
}
}
public class Test
{
public static void main(String[] args)
{
Mobilier mobilier = Mobilier.CHAISE;
System.out.println(mobilier); // "chaise"
}
}
Remarque : s'il s'agit juste de modifier le toString pour mettre le nom de l'enum en minuscules, le champs str est inutile et on pourrait faire directement comme ça :
enum Mobilier
{
TABLE, CHAISE, BUREAU;
public String toString()
{
return super.toString().toLowerCase();
}
}
public class Test
{
public static void main(String[] args)
{
Mobilier mobilier = Mobilier.CHAISE;
System.out.println(mobilier); // "chaise"
}
}
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
Modifié par Heliotte le 28/11/2012 à 11:44
Modifié par Heliotte le 28/11/2012 à 11:44
Bonjour Flog78,
WikiBooks ou sur JAVA, toute la documentation nécessaire tu trouveras concernant ENUM
enum BotFicelle{ CORDE, FIL, SERPENTIN };
WikiBooks ou sur JAVA, toute la documentation nécessaire tu trouveras concernant ENUM
enum BotFicelle{ CORDE, FIL, SERPENTIN };
28 nov. 2012 à 14:06
28 nov. 2012 à 14:11
enum Mobilier { TABLE, CHAISE, BUREAU; public String toString() { return super.toString().toLowerCase(); } public static Mobilier get(String saisie) { for (Mobilier m : values()) if (saisie.equals(m.toString())) return m; return null; } } public class Test { public static void main(String[] args) { Mobilier mobilier = Mobilier.get("chaise"); System.out.println(mobilier); // "chaise" } }