item 35 : ordinal 메서드 대신 인스턴스 필드를 사용하라
1. ordinal이라는 메서드
1) ordinal 메서드
2) ordinal 메서드 잘못 사용한 예 : 유지 보수의 끔찍
public enum Ensemble {
SOLO, DUET, TRIO, QUARTET, QUINTET,
SEXTET, SEPTET, OCTET, NONET, DECTET;
public int numberOfMusicians() {
return ordinal() + 1;
}
}
@Test
public void ensembleTest() {
Ensemble solo = Ensemble.SOLO;
System.out.println("solo = " + solo);
System.out.println("solo.numberOfMusicians() = " + solo.numberOfMusicians());
}2. EnumSet, EnumMap 범용 자료구조에 쓰일 목적의 ordinal()
1) EnumSet에서의 ordinal() 활용
2) EnumMap에서의 ordinal() 활용
3) 예제: EnumSet과 EnumMap에서 ordinal()의 사용 예시
설명
3. ordinal 메서드 대신 인스턴스 필드를 사용하자
Last updated