【发布时间】:2013-05-14 18:27:45
【问题描述】:
我是使用 Enum 的新手。我使用 Maps 已经很久了。 我不确定也不太清楚 Enum 的性能和功能。 如果我使用枚举,这与性能有关吗? 使用 Enum 是否更适合面向对象?
基于它们的内部结构,想要对这两者有一个清晰的想法。
【问题讨论】:
-
枚举值不能在运行时改变。它是一组硬编码的值,更像是一组常量的包装器。而map是一个集合,你可以在其中存储基于key的动态数据
-
如果您提出了一个特定的用例,您现在正在使用地图并考虑枚举,您至少有机会让我们了解您的实际问题是什么。
-
谢谢大家,您的回答确实帮助我增加了对这两种数据结构的知识库和基本理解。结论(对于其他用户):地图和枚举是完全不同的数据结构。映射用于将值与键相关联。枚举用于制作类型安全的常量。枚举值不能在运行时更改。它是一组硬编码的值,更像是一组常量的包装器。 map 是一个集合,您可以在其中存储基于键的动态数据。好吧,在我的情况下,我会使用地图,因为我正在从数据库中溢出值。