推荐使用枚举替换常量,有如下优点
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(),我们可以自动打印出当前的枚举值
缺点
无法像类常亮和枚举常亮一样可以被继承。