This code:
public class Sandbox {
public enum E {
VALUE {
@Override
public String toString() {
return \"I
I think if you compare classes and enums, then the enum E can be compared to a class, and the enum value VALUE can be compared to an anonymous instance. Thus, your first example can be rewritten as following:
public class Sandbox {
public static class E {
public static final E VALUE = new E() {
@Override
public String toString() {
return "I'm the value";
}
};
@Override
public String toString() {
return "I'm the enum";
}
}
public static void main(String[] args) {
System.out.println(E.VALUE);
}
}