I\'ve noticed that the following snippet...
@Override
public boolean equals(Object otherObject) {
...
}
...is not allowed for an Enum,
I must confess enums are the last thing I would want to override equals() in.
I think the reason equals() is final in enums is that Java encourages == for enum comparison, and the implementation of equals() in enums simply uses it, So allowing equals() from being overridden is to prevent == and equals() from behaving differently, which is something other developers would not expect.