ordinal 인덱싱 대신 EnumMap을 사용하라

언어/JAVA

[Effective Java] ordinal 인덱싱 대신 EnumMap을 사용하라

아이템 37 : ordinal 인덱싱 대신 EnumMap을 사용하라 이따금 배열이나 리스트에서 원소를 꺼낼 때 ordinal 메서드로 인덱스를 얻는 코드가 있다. ordinal()을 배열 인덱스로 사용할 경우 동작은 하지만 문제가 발생할 것이다. 배열은 제네릭과 호환되지 않으니 비검사 형번환을 수행해야 하고 깔끔히 컴파일되지 않을 것이다. 이를 해결할 수 있는 방안이 있다. 여기서 배열은 실질적으로 열거 타입 상수를 값으로 매핑하는 일을 한다. 그러니 Map을 사용할 수 있다. 열거 타입을 키로 사용하도록 설계된 아주 빠른 Map 구현체가 존재한다. 바로 EnumMap이다. EnumMap을 사용하면 ordinal을 쓸때보다 짧고 명료하고 안전하다. 안전하지 않은 형변환은 쓰지 않고, 맵의 키인 열거 타입..

지나가던 개발자
'ordinal 인덱싱 대신 EnumMap을 사용하라' 태그의 글 목록