我们什么时候应该在常规常量变量上使用枚举?
枚举是一个特殊的类,它包含一组常量。如果我们想在 Java 中将字段(变量)声明为常量,我们将使用关键字 final。我们什么时候应该在常规常量变量上使用枚举?
回答
优点enum:类型安全
例如,考虑月份,如果我们有常量 as int( static final int JANUARY = 1) 1那么变量或方法参数必须声明为int并且将接受任何整数值,有效与否(例如setMonth(123)或setMonth(0))。
如果我们有一个enum,那么变量或方法参数只能接受它的值 - 可以在编译时检测到错误(错误的常量)(例外:null它也可以被分配/传递而不是enum像任何引用类型一样)。
1 : 与Calendar(JANUARY = 0) 的定义不同
Oracle 官方教程Enum 类型:
任何时候需要表示一组固定的常量时,都应该使用枚举类型。这包括自然枚举类型,例如我们太阳系中的行星和数据集,其中您在编译时知道所有可能的值——例如,菜单上的选择、命令行标志等。