콘텐츠로 건너뛰기

primitive type에서 generic사용 시 오류 발생

모델객체 내부에서 기본값을 지정해야 되는 경우에
위처럼 내부 enum 객체를 생성해서 사용했다.

물론 객체가 갖는 값은 여러 가지 타입이 있으니 Object로 선언하고
제너릭을 사용하여 리턴타입에 맞춰서 변경하도록 했다.

그런데, 이클립스에서 컴파일 시에 오류가 나지 않던 것이
실제 컴파일을 돌리면 오류가 발생한다.

구글링을 했더니, “컴파일러에서 발생하는 known issue”라는 얘기가 있지만 오래된 글이라… 의미가 없는 것 같고.

나름 테스트를 진행해보니, 제너릭에서 primitive type의 리턴값을 제대로
캐스팅하지 못해서 발생하는 문제인 것 같다.

위처럼 boxed-type을 사용하거나 혹은 String으로 변환해서 다시 파싱하는 방법이 있다.

그렇지만 기본적으로 primitive를 사랑하거니와 좀 단순해 보이는 아래 방법을 사용해서 수정했다.

다 적어놓고 보면 간단한데, 이것 참… 에러메시지가 난해하다…ㅠ.ㅠ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다