Java:编译时的枚举值?

Java:编译时的枚举值?,java,enums,Java,Enums,如何在编译时获取枚举的值字符串?如果我执行EnumType.EnumVar.value(),它将在运行时解析。我希望这是在编译时获得的,这样我就可以在开关的情况下使用它 基本上,你没有。如果要在开关中使用枚举,应将字符串值解析为枚举值,然后打开该值。如果该值可能不在枚举中,请考虑创建映射,这样您就可以快速执行转换,而不必使用 ILLGALARGUMUMENTRONUT> > 枚举值(String)将抛出。 基本上不。如果要在开关中使用枚举,应将字符串值解析为枚举值,然后打开该值。如果该值可能不

如何在编译时获取枚举的值字符串?如果我执行EnumType.EnumVar.value(),它将在运行时解析。我希望这是在编译时获得的,这样我就可以在开关的情况下使用它

基本上,你没有。如果要在开关中使用枚举,应将字符串值解析为枚举值,然后打开该值。如果该值可能不在枚举中,请考虑创建<代码>映射,这样您就可以快速执行转换,而不必使用<代码> ILLGALARGUMUMENTRONUT> <代码> > <代码>枚举值(String)将抛出。

基本上不。如果要在开关中使用枚举,应将字符串值解析为枚举值,然后打开该值。如果该值可能不在枚举中,请考虑创建<代码> map ,这样您就可以快速执行转换,而不必使用<代码> ILLCALALGUMUMENTRONTUCTOR> <代码> > <代码>枚举值(String)将抛出。

谢谢注释乔恩。离题,但有什么理由不允许吗?关于为什么设计在编译时禁止获取枚举的文本值,有什么想法吗?@ChandraMohan:我怀疑这会使语言变得更复杂,但没有什么好处。@ChandraMohan就像你不应该使用字符串来表示日期或数字一样,您不应该使用字符串来表示枚举类型的实例。使用枚举。从外部源(用户、文件等)获取输入时,应进行字符串到枚举的转换,将输出发送到外部源时,应进行枚举到字符串的转换。在代码内部,使用enum实例。谢谢Jon的注释。离题,但有什么理由不允许吗?关于为什么设计在编译时禁止获取枚举的文本值,有什么想法吗?@ChandraMohan:我怀疑这会使语言变得更复杂,但没有什么好处。@ChandraMohan就像你不应该使用字符串来表示日期或数字一样,您不应该使用字符串来表示枚举类型的实例。使用枚举。从外部源(用户、文件等)获取输入时,应进行字符串到枚举的转换,将输出发送到外部源时,应进行枚举到字符串的转换。在代码内部,使用枚举实例。