[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

2016년 7월 6일 수요일

[JAVA] java uses unchecked or unsafe operations 발생에 관하여..

프로젝트를 수행하면서 JAVA 컴파일을 많이 수행하게 되고, 관련 로그를 많이 보게 된다.. 그런데 그런 일상적인 작업을 하는 와중에 아래와 같은 로그를 보게 되었다..

[javac] Note: 파일경로명.java uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.

처음에는 별 생각 없이 "어라.. 왜 이러지..???" 이러고선 다시 컴파일을 수행했는데 결과는 똑같더란 그래서 먼가 해서 검색을 해봤는데.. 역시나 나처럼 고민하거나 해당 일을 겪은 사람은 많더란.. ㅋㅋㅋㅋ..

그 이유는.. 지금 프로젝트 내에서 jdk 를 1.5 이상을 사용하고 있는데 1.5 이상 버전부터 다양한 타입 객체를 다루는 메소드 또는 컬렉션 클래스 컴파일 시 타입 체크를 위한 제네릭[Generic]이 추가 되었는데 그로 인해서 자료형을 명시해줘야 한다는 것이다..

그리고 해당 컴파일 오류라고 해서 나오는 부분은 작동자체가 안되는 것은 아니기 때문에 명확한 오류라기 보단 경고성..?? 내지는 조금 더 최적화 된 방법을 알려주는 알림정도라고 보면 좋을 듯 하다..

또한, 경우마다 틀리겠지만 본인이 속한 프로젝트 내에서 Spring 을 사용한다면 Spring 에서 제공하는 어노테이션 기능을 사용해도 좋을 듯 하다.. 어차피 대부분 어노테이션은 직접 코딩하기 보단 Tool 을 통해서 클릭하면 되니 사용 자체가 어렵지는 않을 것이다.. 구성들에 대해서 인지하는게 어렵지.. ㅎㅎㅎ..

해당 케이스 같은 경우는 아래와 같이 어노테이션[@Supp...] 써도 된다는 것을 알려드리며 저는 이만..

@SuppressWarnings("unchecked")
public TestCase() {..}

참..!!! 최소한 위에 어노테이션의 의미는 알려드려야 것지요..?? 검증되지 않은 연산자 관련 경고에 대해서는 제외를 하라는 것이다..



댓글 없음:

댓글 쓰기