1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Surprise {
enum MonEnum {
VALUE1, VALUE2;
}
public static void main(String[] args) throws Exception {
doEvil();
switch (MonEnum.VALUE1) {
case VALUE1: System.out.println("VALUE1"); break;
case VALUE2: System.out.println("VALUE2"); break;
default: System.out.println("don't know"); break;
}
}
static void doEvil() throws Exception {
java.lang.reflect.Field field = Enum.class.getDeclaredField("ordinal");
field.setAccessible(true);
field.set(MonEnum.VALUE1, 1); // ordinal passe de 0 à 1
}
} |