Angenommen, ich habe eine Enum wie folgt aus:Neuen Enum-Wert zur Laufzeit
public enum BlaEnum{
BLA1,
BLA2;
private static final String BLA_ONE = "bla one";
private static final String BLA_TWO = "bla two";
public static String getName(BlaEnum bla) {
switch(bla) {
case BLA1: return BLA_ONE;
case BLA2: return BLA_TWO;
default: return null;
}
}
public static BlaEnum getBla(String bla) {
switch(naam) {
case BLA_ONE: return BLA1;
case BLA_TWO: return BLA2;
default: //return new enum value via reflection;
}
}
}
Wie kann ich je nach eingehenden String, geben einen neuen Enum-Wert zur Laufzeit? Als ob es würde ein zusätzlicher Wert erklärt:
public enum BlaEnum {
BLA1, BLA2, EXTRA_BLA
...
}
Warum möchten Sie das tun? Sie können nicht. * –
Verwenden Sie einfach eine reguläre Klasse. –
* Schauen Sie sich [this] (http://stackoverflow.com/a/534177/438154) an, wenn Sie selbstzerstörerisch sind. –