什么时候在java中使用枚举?

什么时候在java中使用枚举?,java,enums,Java,Enums,我有大约30个资源,每个资源大约有10个属性。我想存储关于每个属性的一些信息 例如: 这是多重性 It RW(读/写)RO(只读) 朗名 短名 所以我想把它存储在一个枚举中,如下所示: public enum Attributes { U_RESOURCETYPE(true, "RW", "resourceType", "rt"), U_RESOURCEID(false, "RO", "resourceID","ri"), //... } 但这将导致300个常量(

我有大约30个资源,每个资源大约有10个属性。我想存储关于每个属性的一些信息

例如:

  • 这是多重性
  • It RW(读/写)RO(只读)
  • 朗名
  • 短名
所以我想把它存储在一个枚举中,如下所示:

public enum Attributes {

    U_RESOURCETYPE(true, "RW", "resourceType", "rt"),
    U_RESOURCEID(false, "RO", "resourceID","ri"),
    //...
}
但这将导致300个常量(30个资源*10个属性)

我还可以使用配置文件或带有映射作为成员的单例枚举


实现这一点的最佳方法是什么?

我认为最好的方法是使用存储信息的文件,它可以是xml文件、某些dat文件甚至数据库,因为您希望存储和检索数据而不是逻辑状态

当您想要控制对象的状态时,枚举非常有用。例如,智能手机用户可以静止、跑步、开车或走路,因此使用枚举作为状态集合很有趣。但是,也可以使用带有公共静态变量的类来访问它


下面是一个示例

我认为最好的方法是使用存储信息的文件,它可以是xml文件、某些dat文件甚至数据库,因为您希望存储和检索数据而不是逻辑状态

当您想要控制对象的状态时,枚举非常有用。例如,智能手机用户可以静止、跑步、开车或走路,因此使用枚举作为状态集合很有趣。但是,也可以使用带有公共静态变量的类来访问它


下面是一个示例

为什么不能使用数据库而不是开销转换成代码?使用可靠(反)序列化库持久化到数据库或文件。为什么不能使用数据库而不是开销转换成代码?使用可靠(反)序列化库持久化到数据库或文件。