Ist es mir möglich , a mit Java String
in einen äquivalenten Wert in a umzuwandeln Enumeration
?
Ich kann dies natürlich mit einer großen if-else
Aussage tun , aber ich möchte dies nach Möglichkeit vermeiden.
Angesichts dieser Dokumentation:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
Ich bin nicht zu hoffnungsvoll, dass dies ohne Wenn und Fallaussage möglich ist.
Angenommen, Sie verwenden Java 5-Aufzählungen (was nicht so sicher ist, da Sie die alte
Enumeration
Klasse erwähnen ), können Sie dievalueOf
Methode derjava.lang.Enum
Unterklasse verwenden:quelle
Verwenden statische Methode
valueOf(String)
für jede definierteenum
.Zum Beispiel, wenn Sie haben
enum MyEnum
, können Sie sagenMyEnum.valueOf("foo")
quelle
Ich hätte meine eigene Lösung möglicherweise überarbeitet, ohne zu bemerken, dass sie
Type.valueOf("enum string")
tatsächlich existiert.Ich denke, es gibt eine detailliertere Kontrolle, aber ich bin mir nicht sicher, ob es wirklich notwendig ist.
Ich denke, Sie tauschen
IllegalArgumentException
gegenRuntimeException
(oder welche Ausnahme Sie auch immer werfen möchten), die möglicherweise Code bereinigen könnte.quelle