import java.util.*;
class Main{
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int val=sc.nextInt();
Lights light=Lights.valueOf(val);
//How to take the value of variable "val" so that if we print '0' Red is displayed.
int set=light.setVal(val);
System.out.println(light.getVal());
}}
enum Lights {
Red(0), Yellow(1), Green(2);
int i;
Lights(int i) { this.i=i; }
int getVal() { return i; }
void setVal(int m) { i=m;}
}
如何在枚举定义时使用“val”的值。?
例如,在命令行参数的情况下,我们写了valueOf(args [0]),但在这种情况下,当我们想要使用“val”时应该做什么..?
答案 0 :(得分:0)
我相信您正在寻找ordinal()
返回此枚举常量的序数(它在枚举声明中的位置,其中初始常量的序数为零)。大多数程序员都没有使用这种方法。它设计用于复杂的基于枚举的数据结构,例如EnumSet和EnumMap。
如果你想要枚举类型,那么你可以使用:
Lights light = Lights.values()[ordinal];