J'ai un but de soustraire Enum lui-même de la valeur d'Enum, donc je vais le laisser comme un mémorandum.
Exemple d'implémentation avec Enum qui a une valeur String comme valeur
public enum Mode {
MODEA("a"),
MODEB("b");
private String mode;
private Mode(String mode) {
this.mode = mode;
}
/**Créez une carte inversée à l'avance et apportez-la sur le terrain*/
private static final Map<String, Mode> modeMap = new HashMap<String, Mode>() {
private static final long serialVersionUID = 1L;
{
for (Mode mode : Mode.values()) {
put(mode.mode, mode);
}
}
};
/**Obtenir Enum à partir de la valeur*/
public static Mode getMode(String mode) {
return modeMap.get(mode);
}
}
Côté utilisateur
Mode modeA = Mode.getMode("a");
Vous pouvez créer une carte inversée à l'avance et obtenir Enum en utilisant String comme clé. Puisqu'il s'agit d'une carte, elle est accessible directement et l'efficacité du traitement est bonne.
Recommended Posts