Je veux améliorer mon utilisation de JDK 1.5 et cesser d'utiliser static private String au lieu de ENUM. C'est ce qui semble être recommandé.Java ENUM dans la pratique, le mauvais code pour améliorer
Mais maintenant ma constante de classe ressemble à ceci:
public class CEnum{
/**
* @author JJA
* date : 20/10/2010
*/
public enum ListTypeAffichage {
DEP("DEPOT_TVA"), PAD("PAS_DEPOT_TVA"), NORM("CAT_NORMALE"), CAP("CAT_PARTICULIERE"), CAA("CAT_AUTRE_CAS");
private final String sName;
/**
* @param name String
*/
ListTypeAffichage(String name) {
this.sName = name;
}
/**
* @return String
*/
public String getType() {
return sName;
}
}
/**
* @author JJA
* date : 20/10/2010
*/
public enum ListTypeCategorie {
DEDUIRE("SOMME_A_DEDUIRE"), AJOUTER("SOMME_A_AJOUTER");
private final String sName;
/**
* @param name String
*/
ListTypeCategorie(String name) {
this.sName = name;
}
/**
* @return String
*/
public String getType() {
return sName;
}
}
/**
* @author JJA
* date : 26/10/2010
*/
public enum ListInterval {
POS("POSITIF"), NS("NON_SIGNE");
private final String sName;
/**
* @param name String
*/
ListInterval(String name) {
this.sName = name;
}
/**
* @return String
*/
public String getInterval() {
return sName;
}
}
}
au lieu de
public class ConstantesADMD {
public static final List<String> typeAffich = new ArrayList<String>();
...
ConstantesADMD(){
typeAffich.add("DEPOT_TVA");
typeAffich.add("PAS_DEPOT_TVA");
typeAffich.add("CAT_NORMALE");
...
}
}
Mon code semble être vraiment mauvais, mais au moins fonctionne. Pour chaque énumération, je dois ajouter le code redondant:
private final String sName;
/**
* @param name String
*/
ListTypeAffichage(String name) {
this.sName = name;
}
/**
* @return String
*/
public String getType() {
return sName;
}
Quelle amélioration me conseillez-vous? Note: oubliez les dernières phrases de ma première question, j'ai besoin de l'index. Dites-moi si je dois poster une autre question, éditer mon fisrt semble plus facile.
Cela vaut mieux que la réponse de ma première question merci. J'ai utilisé la méthode name au lieu de toString. – jayjaypg22