我和一位同事讨论了Java如何表示枚举。我认为它们像C/C++一样是严格的整数。或者,如果添加行为(类型安全枚举),它会被包装在一个类中。他认为,如果它足够小,Java会将其压缩为一个字节。
然而,我在Oracle网站上找到了这个:
Java编程语言的枚举比其他语言中的枚举更强大,其他语言的枚举只不过是被吹嘘的整数。新的枚举声明定义了一个完整的类(称为枚举类型)。
我理解它们是实际对象。如果是这样,有没有一种方式来优化它们以节省空间?
谢谢!
编辑:正如Jon回答评论中提到的那样,我想知道枚举的序列化大小。
然而,我在Oracle网站上找到了这个:
Java编程语言的枚举比其他语言中的枚举更强大,其他语言的枚举只不过是被吹嘘的整数。新的枚举声明定义了一个完整的类(称为枚举类型)。
我理解它们是实际对象。如果是这样,有没有一种方式来优化它们以节省空间?
谢谢!
编辑:正如Jon回答评论中提到的那样,我想知道枚举的序列化大小。