Ich habe den Zweck, Enum selbst vom Wert von Enum abzuziehen, daher werde ich es als Memorandum belassen.
Implementierungsbeispiel mit Enum, das einen String-Wert als Wert hat
public enum Mode {
MODEA("a"),
MODEB("b");
private String mode;
private Mode(String mode) {
this.mode = mode;
}
/**Erstellen Sie im Voraus eine umgekehrte Karte und bringen Sie sie ins Feld*/
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);
}
}
};
/**Holen Sie sich Enum vom Wert*/
public static Mode getMode(String mode) {
return modeMap.get(mode);
}
}
Benutzerseite
Mode modeA = Mode.getMode("a");
Sie können im Voraus eine umgekehrte Zuordnung erstellen und Enum mit String als Schlüssel abrufen. Da es sich um eine Karte handelt, kann direkt darauf zugegriffen werden, und die Verarbeitungseffizienz ist gut.
Recommended Posts