我和一位同事讨论了 Java 如何表示枚举。我的印象是它们严格来说是像 C/C++ 这样的整数。或者,如果您添加行为(类型安全枚举),它会被包装在一个类中。他相信,如果它足够小,Java 会将其压缩为一个字节。
但是,我在 Oracle 网站上找到了这个:
Java 编程语言的枚举比其他语言中的枚举要强大得多,后者只不过是美化的整数。新的枚举声明定义了一个成熟的类(称为枚举类型)。
我认为它们是实际的对象。如果是这样,有没有办法优化它们以节省空间?
谢谢
编辑:正如对 Jon 的回答的评论中提到的那样,我在 Enum 的序列化大小之后。