Java의 @SuppressWarnings는 프로그램의 특정 부분에 대해 지정된 경고를 억제하도록 컴파일러에 알리는 데 사용되는 주석입니다. @SuppressWarnings는 추가 정보를 제공하는 메타데이터를 나타내는 태그와 같은 주석으로 내장된 주석입니다. 때때로 경고는 좋지만 때로는 부적절하고 성가실 수도 있습니다. 그러면 프로그래머는 때때로 컴파일러에게 그러한 경고를 억제하도록 알릴 수 있습니다. @SuppressWarnings에 지정된 컴파일러 경고는 프로그램의 특정 부분을 억제합니다. 예를 들어 지정된 경고를 억제하도록 메서드에 주석이 달린 경우 컴파일러는 해당 메서드 내에서만 지정된 경고를 억제하지만, 지정된 경고를 억제하도록 클래스에 주석이 달린 경우 컴파일러는 해당 클래스 내부의 메서드에서 지정된 경고를 억제합니다. 🎜>
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문
@SuppressWarnings( "warningOption" )
매개변수
예제를 사용하여 Java에서 @SuppressWarnings가 어떻게 작동하나요?
예시 #1
코드:
//package demo; import java.util.ArrayList; import java.util.List; public class Main { @SuppressWarnings("unchecked") // also can be write as @SuppressWarnings(value = "unchecked") public static void main( String[] arg) { List fruits = new ArrayList(); // this causes unchecked warning fruits.add("Apple"); System.out.println( fruits); } }
출력:
설명: 위 코드에서와 같이 @SuppressWarnings 주석은 main() 메서드에 @SuppressWarnings(“unchecked”)로 주석이 추가됩니다. 억제할 경고는 이제 내부의 모든 코드에 대해 unchecked 경고입니다. main() 메소드도 적용됩니다. 따라서 이제 컴파일러는 "fruits.add("Apple")" 줄에 대해 경고를 발행하지 않습니다. 원시 형식의 컬렉션을 사용하고 있기 때문입니다. 코드에서와 같이 @SuppressWarnings 주석을 사용하여 해당 경고를 수정하지 않습니다. 위 코드에서 @SuppressWarnings 주석을 사용하지 않으면 "fruits.add("Apple");" 줄에
예시 #2
코드:
//package demo; import javax.swing.JFrame; public class Demo { @SuppressWarnings("deprecation") // also can be write as @SuppressWarnings(value = "deprecation") public static void main( String[] arg) { JFrame dlog = new JFrame(); dlog.setTitle("This is demo"); // this generate the deprecated warning as it is a deprecated method // JDK version 1.7 replace it by setVisible() method dlog.show(); dlog.setSize(500, 500); // so use the new version method dlog.setVisible(true); } }
출력:
설명: 위 코드에서와 같이 @SuppressWarnings 주석은 main() 메서드에 @SuppressWarnings(“deprecation”)으로 주석이 추가되며, 표시되지 않는 경고는 deprecation warning입니다. 따라서 이제 컴파일러는 "dlog.show();" 줄에 대해 경고를 표시하지 않습니다. 왜냐하면 이 메소드는 setVisible() 메소드에 의해 Swing API에서 더 이상 사용되지 않기 때문입니다. 코드에서와 같이 @SuppressWarnings 주석을 사용하여 해당 경고를 수정하지 않습니다.
예시 #3
코드:
//package demo; import javax.swing.JFrame; @SuppressWarnings("deprecation") public class Demo { // also can be write as @SuppressWarnings(value = "deprecation") public static void main( String[] arg) { JFrame dlog = new JFrame(); dlog.setTitle("This is demo"); // this generate the deprecated warning as it is a deprecated method // JDK version 1.7 replace it by setVisible() method dlog.show(); dlog.setSize(500, 500); // so use the new version method dlog.setVisible(true); } public void anotherMethod() { JFrame dlog = new JFrame(); dlog.setTitle("This is demo"); dlog.show(); } }
출력:
설명: 위 코드에서와 같이 @SuppressWarnings 주석은 클래스에 @SuppressWarnings(“deprecation”)으로 주석 처리됩니다. 이는 이제 클래스 내부의 모든 메서드에도 사용 중단 경고가 적용된다는 의미입니다. 억제해야 하며 이제 컴파일러는 두 메소드 라인 "dlog.show();"에서 경고를 발행하지 않습니다.
위 코드의 main() 메소드 수준에서 @SuppressWarnings 주석을 사용하면 아래 이미지에서 명확하게 볼 수 있듯이 anotherMethod() 메소드에 경고 메시지가 표시됩니다.예시 #4
코드:
//package demo; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; public class Demo { @SuppressWarnings({"unchecked","deprecation"}) // also can be write as @SuppressWarnings(value={"unchecked","deprecation"}) public static void main( String[] arg) { JFrame dlog = new JFrame(); List title = new ArrayList(); // this causes unchecked warning title.add("This is demo"); dlog.setTitle(title.toString()); // this generate the deprecated warning as it is a deprecated method // JDK version 1.7 replace it by setVisible() method dlog.show(); dlog.setSize(500, 500); // so use the new version method dlog.setVisible(true); } }
출력:
설명: 위 코드에서와 같이 @SuppressWarnings 주석은 여러 경고를 억제하거나 무시하기 위해 @SuppressWarnings({“unchecked”, “deprecation”})로 main() 메서드에 주석이 추가됩니다. "선택 취소" 및 "지원 중단". 이는 컴파일러가 "선택 취소" 및 "지원 중단"과 관련된 경고를 발행하지 않음을 의미합니다.
@SuppressWarning은 주석이 달린 프로그램의 특정 부분에 대해 지정된 경고를 무시하도록 컴파일러에 알리는 Java의 주석입니다.
위 내용은 자바의 @SuppressWarnings의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!