【发布时间】:2009-05-12 06:46:11
【问题描述】:
我有一个映射 String->Integer 的表。
我不想静态创建枚举,而是想用数据库中的值填充枚举。这可能吗?
所以,与其静态地删除这个:
public enum Size { SMALL(0), MEDIUM(1), LARGE(2), SUPERSIZE(3) };
我想动态创建这个枚举,因为数字 {0,1,2,3} 基本上是随机的(因为它们是由数据库的 AUTOINCREMENT 列自动生成的)。
【问题讨论】:
-
除了 C#,不是 Java,我们都知道你可以用 Java 做更多事情:-)
-
Dynamic enum in C#的可能重复
-
从概念上讲,我们大多数人都会明白,在运行时无法从数据库构建一组编译时枚举值。至少,您会遇到事先不知道的枚举常量。枚举常量充当类加载时可用的单个 Singleton,这很可能是我们正在寻找的便利。如果您解决了单例问题,那么值将作为内部化版本,直接
==比较将起作用。如果另外,我们确保单例在应用程序加载期间自动初始化,那么我们可以避免使用枚举。
标签: hashmap enumeration java