이펙티브자바 아이템35
-
아이템35. ordinal 메서드 대신 인스턴스 필드를 사용하라책/이펙티브자바 2021. 8. 28. 17:35
// 35-1. oridinal() 의 잘못된 사용 예 public enum Ensemble { SOLO, DUET, TRIO, QUARTET, QUINTET, SEXTET, SEPTET, OCTET, NONET, DECTET, ; public int numberOfMusicians() { return ordinal() + 1; } } 상수 선언 순서를 바꾸는 순간 메소드가 오작동한다. 이미 사용 중인 정수와 값이 같은 상수는 추가할 방법이 없다. 열거 타입 상수에 연결된 값은 oridinal() 로 얻지 말고, 인스턴스 필드에 저장하자. public enum Ensemble { SOLO(1), DUET(2), TRIO(3), QUARTET(4), QUINTET(5), SEXTET(6), SEPTET(7..