我想知道以下哪种方法可以更好地找到枚举的大小。
这样 - >
public enum Company {
AUDI(4), BMW(5), CADILLAC(11), FORD(44), JAGUAR(45);
private final int id;
public final int length= Company.values().length;
private Company(int id) {
this.id = id;
}
}
OR
public enum Company {
AUDI(4), BMW(5), CADILLAC(11), FORD(44), JAGUAR(45);
private final int id;
public final int length= 5;
private Company(int id) {
this.id = id;
}
}
答案 0 :(得分:5)
给出 -
enum Widgets {TINY, SMALL, AVERAGE, BIG};
小部件的大小是:
Widgets.values().length
答案 1 :(得分:2)
两种方式。只需在需要的地方使用myEnum.values()。size。
答案 2 :(得分:2)
在我看来,第一种方式更好。这样,如果在枚举中添加更多公司,则不必手动更新长度变量。
答案 3 :(得分:2)
第一个,但是将其设为static
,这样就不会制作数组的多个副本。
public final static int length= Company.values().length;
答案 4 :(得分:2)
第二种方法的问题是,每次添加新值时,都必须手动更新长度。
对于第一种方法,它是动态的,您甚至可以将其设置为静态(因为如果不这样做,每个枚举实例将采用一个整数):
public final static int length= Company.values().length;
但我建议使用'Company.values()。length',因为它更标准。