定义
1 | public enum Week { |
构造器
1 | public enum Week { |
除了无参构造器,枚举类也有有参构造器。
1 | public enum Week { |
枚举类成员
枚举类和正常类一样,也可以有成员变量、实例方法、静态方法等。
1 | public enum Week { |
枚举类中还可以有抽象方法。
1 | public enum Week { |
每个枚举类都有两个 static 方法:
static Direction[] values():返回本类所有枚举常量;
static Direction valueOf(String name):通过枚举常量的名字返回Direction常量,注意,这个方法与Enum类中的valueOf()方法的参数个数不同。
1 | public class Test { |
使用场景
类型约束
需要传入商品折扣计算价格,使用常量定义没有类型上的约束,传入任何 double 类型的值都可以。
1 | public class Discount { |
如果你使用枚举来定义这种情况,就会有更强的类型约束:
1 | public enum Discount { |
1 | public class Test { |
switch中使用
1 | public class Test { |
消除if/else
1 | public interface Eat { |
1 | public enum AnimalEnum implements Eat { |
1 | public class Test { |
单例模式
1 | /** |