[Item37] Collectors.groupingBy로 EnumMap 만들기
Item37은 enum에서 ordinal 사용을 자제하고 컬렉션을 이용하라는 것의 확장판이다 책에서 상전이를 예로 들었는데 OrdinalTransition은 가장 간단하게 생각할 수 있는 코드로 작성됐다 ordinal을 사용해 2차원 배열로 만들었고 예제에서는 상전이가 일어나지 않았을 때 null을 넣어줬지만 살짝 변경해서 NONE을 추가하고 null을 대체했다 반면 Transition은 Item37의 조언을 따라 ordinal을 사용하지 않고 코드가 꽤나 복잡해졌지만 enum의 values()를 이용하기 때문에 타입 안전하며 Collectors.groupingBy()와 중첩 맵을 활용 해 상전이를 나타냈다 뭐든 간에 depth가 깊어질수록 이해하기 쉽지 않은데 TRANSITION_MAP은 난해하기 그지..
Java/Effective Java
2022. 3. 20. 15:35