在将枚举类型添加到该语言之前,表示枚举类型的常见模式是声明一组名为 int 的常量,每个类型的成员都有一个常量:
// The int enum pattern - severely deficient!
public static final int APPLE_FUJI = 0;
public static final int APPLE_PIPPIN = 1;
public static final int APPLE_GRANNY_SMITH = 2;
public static final int ORANGE_NAVEL = 0;
public static final int ORANGE_TEMPLE = 1;
public static final int ORANGE_BLOOD = 2;
这种被称为 int 枚举模式的技术有许多缺点。 它没有提供类型安全的方式,也没有提供任何表达力。
幸运的是,Java 提供了一种避免 int 和 String 枚举模式的所有缺点的替代方法,并提供了许多额外的好处。 它是枚举类型
public enum Apple { FUJI, PIPPIN, GRANNY_SMITH }
public enum Orange { NAVEL, TEMPLE, BLOOD }