마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

enum class 익셉션 관련

0 추천
enum class가 A, B 클래스가 있고

 

enum class A {

 ABC

}

enum class B {

 EFG

}

이렇게 해서 쓰고 있는데요.

 Fatal Exception: java.lang.IllegalArgumentException: No enum constant A.EFG

이런식으로 EFG필드는 B enum class인데, A.EFG라면서 크래시틱스에 찍히더라구요 증상도 재현이 안되고..

enum class 필드를 뭐바꾼다거나 그렇게 쓰는 것도 없구요

이거 대체 무슨 경우인지.. 어떻게 나오는건지 모르겠습니다 이게 가능한건가요? 애초에 저렇게 접근도 안될텐데
수원통학러 (3,570 포인트) 님이 2022년 3월 18일 질문

1개의 답변

0 추천

enumValueOf()같은 함수를 통해서  문자열을 enum 으로 변환할 수가 있어요. 

https://github.com/JetBrains/kotlin/blob/6a670dc5f38fc73eb01d754d8f7c158ae0176ceb/kotlin-native/runtime/src/main/kotlin/kotlin/Enum.kt#L39

어느 부분에서 크래시가 나는지 체크하신 다음 해당 코드를 잘 디버깅 해보세요. 

spark (227,530 포인트) 님이 2022년 3월 18일 답변
...