推荐使用枚举替换常量,有如下优点
1、枚举不用专门赋值,而常量必须定义值。
有的时候我们并不关心常量的值,只是想区分不同的状态。
2、枚举有内置的方法
比如values(),我们可以使用这个方法轻易地打出所有的枚举值
比如ordinal(),我们可以打印出枚举的序号
3、枚举可以限定我们参数的范围
例如
enum Season{ SPRING("spring1"), SUMMER("summer1"), AUTUMN("autumn1"),WINTER("winter1"); private String seasonValue; Season(String seasonValue) { this.seasonValue = seasonValue; } public String getSeasonValue() { return seasonValue; } }
我们使用Season作为类型,那么也就限定了我们的范围
4、枚举值是枚举类型的实例,自动实现了toString(),我们可以自动打印出当前的枚举值
缺点
无法像类常亮和枚举常亮一样可以被继承。