- “不能被子类化”不是一个限制。这是最大的优点之一:它可以确保始终仅存在,*
enum
和中定义的所有值!enum
正确处理序列化。您也可以使用类型安全的枚举来做到这一点,但是它经常被遗忘(或根本不为人所知)。这样可以确保e1.equals(e2)
始终暗示e1 ==e2
着任何两个enum
值e1,e2
并且反之亦然,这可能更重要。 - 有处理枚举的特定轻量级数据结构:
EnumSet
和EnumMap

enum和中定义的所有值!
enum正确处理序列化。您也可以使用类型安全的枚举来做到这一点,但是它经常被遗忘(或根本不为人所知)。这样可以确保
e1.equals(e2)始终暗示e1 ==
e2着任何两个
enum值
e1,e2并且反之亦然,这可能更重要。
EnumSet和
EnumMap