Why are Java enums not clonable?
问题 It's too late to change the question, but more precise would have been to ask "Why does clone() not allow singletons?". A copy() method would be more convenient. Is there any reason why enums in Java cannot be cloned? The manual states that This guarantees that enums are never cloned, which is necessary to preserve their "singleton" status. But returning the instance itself would also preserve its status, and I would be able to handle associated enums the same way as other clonable objects.