class Ideone
{
enum Members{
A(1),B(2),C(3); // I have 3 enum constants here
private int size;
Members(int size){
//System.out.println("Initializing var with size = "+size);
}
}
public static void main (String[] args) throws java.lang.Exception
{
System.out.print("main ");
// your code goes here
for (Members i: Members.values()){
System.out.print(i.name());
System.out.println(i.size);
}
}
}
这是程序的输出 -
主
一个
0
乙
0
C
0
为什么尺寸值不打印为1,2和3而不是0?
答案 0 :(得分:4)
因为您没有映射size属性。将枚举构造函数更改为:
Members(int size){
this.size = size;
}
顺便说一句:你应该始终将枚举字段标记为final
,因为枚举只存在一次(单例)。因此,将private int size
更改为private final int size