Why Java does not allow overriding equals(Object) in an Enum?
Anything but return this == other would be counter intuitive and violate the principle of least astonishment. Two enum constants are expected to be equal if and only if they are the same object and the ability to override this behavior would be error prone. Same reasoning applies to hashCode(), clone(), compareTo(Object), name(), ordinal(), and … Read more