2012-10-10 5 views
4

Java 6 및 Java 7 플랫폼 모두에서 컴파일 할 수있는 프로젝트를 사용하고 있습니다. GUI 클래스 중 하나가 JComboBox를 사용하고 있습니다. JComboBox는 Java 7의 사양을 제네릭 형식으로 변경했기 때문에 구성 요소의 매개 변수 선언이 필요합니다.Java 7 및 Java 6의 JComboBox 안전 유형 차이점

자바 6 선언처럼 :

JComboBox mybox; 

괜찮 및 오류없이 경고를 제공하지 않습니다. 자바 7 동일한 구성 요소 선언에서

자바 7의 요청에 따라

JComboBox is a raw type. References to generic type JComboBox<E> should be parameterized 

주는 매개 변수를 경고 제공 :

JComboBox<String> mybox; 

자바 7 플랫폼에 대한 경고를 제거,하지만 난 자바 6에서 컴파일 오류

Java 플랫폼 6과 7이 모두 내 프로젝트에서 사용할 수 있도록이 경우 어떻게 할 수 있습니까?

답변

2

@SuppressWarnings("rawtypes")을 사용하여 제네릭 경고를 무시할 수 있습니다. getSelectedItem은 제네릭을 사용하지 않습니다. Java 7을 완전히 사용하면 경고를 제거/수정하십시오.

+0

나는 SuppressWarnings 코드를 남기고 싶지 않습니다. 유일한 방법입니까? – kpoxa

+0

Java 6는이 클래스의 제네릭과 함께 컴파일되지 않으므로 많은 경고를 남기지 마십시오. 경고를 유지하거나 제거하십시오. 이것은 개인적인 취향에 달려 있습니다. 나는이를 억제하고 나중에이를 기억하는 티켓을 만듭니다. –

+0

메서드 본체에 \t \t @SuppressWarnings ("선택 취소")이 필요합니다. – kc2001