在具有不同数据类型的java中使用Enums

tes*_*k03 2 java enums

为什么说在java中使用枚举更好.如果你有不同数据类型的常量,我认为最好使用带常量的类而不是枚举?

喜欢

Class A { 
    public static int A = 1;
    public static int B = 2;
    public static String c = "RADIUS";  
    public static String d = "LENGTH"; 
}
Run Code Online (Sandbox Code Playgroud)

代替

enum ofInts {A(1), B(2)}
enum ofStrings{c("RADUIS"), d("LENGTH")}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

使用枚举的一个好处是它是强类型的.考虑两组常量,两者都有整数表示.如果您只是按照您的建议使用字段,那么没有什么可以阻止您将错误的值传递给方法等.如果使用枚举,则不能 - 两组常量完全不同,即使它们共享"具有基础整数表示的值"的共同方面.

当然,枚举提供了额外的好处,允许您包含值的行为,但这并不总是必要的 - 即使它不是,这并不意味着枚举没有用.