如果有枚举,
public enum Animal {
DOG,
CAT;
}
Run Code Online (Sandbox Code Playgroud)
如果我正确理解枚举,我们可以在等价的类中转换它们,类似于 -
public class Animal {
private static final DOG = 1;
private static final CAT = 2;
}
Run Code Online (Sandbox Code Playgroud)
这是正确的表示,还是我在这里遗漏了什么?
谢谢.
不完全是.以下是它的样子:
public class Animal extends Enum<Enum<Animal>> {
public static final DOG = new Animal("DOG", 0);
public static final CAT = new Animal("CAT", 1);
private static final Animal[] values = new Animal[] {DOG, CAT};
private Animal(String name, int ordinal) {super(name, ordinal);}
public static Animal valueOf(String name) {return Enum.valueOf(Animal.class, name)}
public Animal[] values() {return values;}
}
Run Code Online (Sandbox Code Playgroud)
类java.lang.Enum
持有ordinal
并name
提供可以访问它们的方法.