避免使用ordinal方法

Effective Java(2nd)第31条
可以使用如下方法代替

public enum Ensemble {
SOLO(1), DUET(2), QUINTET(5);

private final int numberOfMusicians;

Ensemble(int size) {
this.numberOfMusicians = size;
}

public int numberOfMusicians() {
return numberOfMusicians;
}

public static void main(String[] args){
//Ensemble es = new Ensemble(2);
System.out.println(Ensemble.QUINTET.numberOfMusicians);
}
}


避免使用枚举的ordinal方法,而是把序数保存在一个实例域中。

Ensemble.SOLO就是枚举Ensemble的一个实例,可以使用枚举内的方法。
Ensemble.values()返回枚举数组可以用来遍历枚举
for(Ensemble e : Ensemble.values())

你可能感兴趣的:(java)