Originally Posted by
Jason
Where can I find documentation to support this?
Its not in the java docs, but it does do this so you cannot tamper with the values of the enum
Code:
public enum ExampleEnum {
HELLO,
WORLD
}
Code:
javac -d out -XD-printflat ExampleEnum.java
Code:
public enum ExampleEnum extends Enum<ExampleEnum> {
/*public static final*/ HELLO /*enum*/ ("HELLO",0),
/*public static final*/ WORLD /*enum*/ ("WORLD",1);
/*synthetic*/ private static final ExampleEnum[] $VALUES = new ExampleEnum[]{ExampleEnum.HELLO, ExampleEnum.WORLD};
public static ExampleEnum[] values() {
return (ExampleEnum[])$VALUES.clone();
}
public static ExampleEnum valueOf(String name) {
return (ExampleEnum)Enum.valueOf(ExampleEnum.class, name);
}
private ExampleEnum(/*synthetic*/ String $enum$name, /*synthetic*/ int $enum$ordinal) {
super($enum$name, $enum$ordinal);
}
}