en realidad se puede switch
en enum
s, pero no se puede switch
en String
s hasta Java 7. Se podría considerar el uso de método polimórfico despacho con Java enum
s en lugar de una explícita switch
. Tenga en cuenta que enum
s son objetos en Java, no solo símbolos para int
como si estuvieran en C/C++.Puede tener un método en un tipo enum
, luego, en lugar de escribir un switch
, simplemente llame al método - una línea de código: ¡listo!
enum MyEnum {
SOME_ENUM_CONSTANT {
@Override
public void method() {
System.out.println("first enum constant behavior!");
}
},
ANOTHER_ENUM_CONSTANT {
@Override
public void method() {
System.out.println("second enum constant behavior!");
}
}; // note the semi-colon after the final constant, not just a comma!
public abstract void method(); // could also be in an interface that MyEnum implements
}
void aMethodSomewhere(final MyEnum e) {
doSomeStuff();
e.method(); // here is where the switch would be, now it's one line of code!
doSomeOtherStuff();
}
Muéstrenos su código de conmutador de enum que no funciona. –
Por qué se duplican los indicadores, observe qué tan preciso es el encabezado, fácil de encontrar para los nuevos usuarios. – Indigo
Puede echar un vistazo a este artículo para ver cómo se hace: http://www.tutorialspoint.com/javaexamples/method_enum.htm –