>  기사  >  Java  >  자바의 @SuppressWarnings

자바의 @SuppressWarnings

WBOY
WBOY원래의
2024-08-30 16:22:33251검색

Java의 @SuppressWarnings는 프로그램의 특정 부분에 대해 지정된 경고를 억제하도록 컴파일러에 알리는 데 사용되는 주석입니다. @SuppressWarnings는 추가 정보를 제공하는 메타데이터를 나타내는 태그와 같은 주석으로 내장된 주석입니다. 때때로 경고는 좋지만 때로는 부적절하고 성가실 수도 있습니다. 그러면 프로그래머는 때때로 컴파일러에게 그러한 경고를 억제하도록 알릴 수 있습니다. @SuppressWarnings에 지정된 컴파일러 경고는 프로그램의 특정 부분을 억제합니다. 예를 들어 지정된 경고를 억제하도록 메서드에 주석이 달린 경우 컴파일러는 해당 메서드 내에서만 지정된 경고를 억제하지만, 지정된 경고를 억제하도록 클래스에 주석이 달린 경우 컴파일러는 해당 클래스 내부의 메서드에서 지정된 경고를 억제합니다. 🎜>

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

Java의 @SuppressWarnings 주석 구문 –

@SuppressWarnings( "warningOption" )

매개변수

  • warningOption: warningOption은 컴파일러를 억제하거나 무시하려는 특정 경고를 지정하는 문자열 매개변수입니다.
Java의 @SuppressWarnings는 억제할 다양한 유형의 경고 목록을 지원합니다. Eclips 및 Netbean IDE는 표준 javac 컴파일러 경고 옵션 이상을 지원합니다. @SuppressWarnings에서 지원하는 경고 옵션 목록은 unchecked, deprecation, serial, overrides, Cast, divzero,empty, fallthrough, path, finally 및 all입니다.

예제를 사용하여 Java에서 @SuppressWarnings가 어떻게 작동하나요?

작업 및 예시는 다음과 같습니다.

예시 #1

다음으로, @SuppressWarnings를 사용하여 확인되지 않은 경고를 억제하는 다음 예를 통해 @SuppressWarnings 주석을 더 명확하게 이해하기 위해 Java 코드를 작성합니다.

코드:

//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

설명: 위 코드에서와 같이 @SuppressWarnings 주석은 main() 메서드에 @SuppressWarnings(“unchecked”)로 주석이 추가됩니다. 억제할 경고는 이제 내부의 모든 코드에 대해 unchecked 경고입니다. main() 메소드도 적용됩니다. 따라서 이제 컴파일러는 "fruits.add("Apple")" 줄에 대해 경고를 발행하지 않습니다. 원시 형식의 컬렉션을 사용하고 있기 때문입니다. 코드에서와 같이 @SuppressWarnings 주석을 사용하여 해당 경고를 수정하지 않습니다. 위 코드에서 @SuppressWarnings 주석을 사용하지 않으면 "fruits.add("Apple");" 줄에

예시 #2

다음으로 @SuppressWarnings를 사용하여 지원 중단 경고를 억제하는 다음 예를 통해 @SuppressWarnings 주석을 더 명확하게 이해하기 위해 Java 코드를 작성합니다.

코드:

//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

설명: 위 코드에서와 같이 @SuppressWarnings 주석은 main() 메서드에 @SuppressWarnings(“deprecation”)으로 주석이 추가되며, 표시되지 않는 경고는 deprecation warning입니다. 따라서 이제 컴파일러는 "dlog.show();" 줄에 대해 경고를 표시하지 않습니다. 왜냐하면 이 메소드는 setVisible() 메소드에 의해 Swing API에서 더 이상 사용되지 않기 때문입니다. 코드에서와 같이 @SuppressWarnings 주석을 사용하여 해당 경고를 수정하지 않습니다.

예시 #3

다음으로 @SuppressWarnings를 사용하여 클래스 수준에서 지원 중단 경고를 억제하는 @SuppressWarnings 주석을 이해하기 위해 아래와 같이 Java 코드를 작성합니다.

코드:

//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 주석은 클래스에 @SuppressWarnings(“deprecation”)으로 주석 처리됩니다. 이는 이제 클래스 내부의 모든 메서드에도 사용 중단 경고가 적용된다는 의미입니다. 억제해야 하며 이제 컴파일러는 두 메소드 라인 "dlog.show();"에서 경고를 발행하지 않습니다.

위 코드의 main() 메소드 수준에서 @SuppressWarnings 주석을 사용하면 아래 이미지에서 명확하게 볼 수 있듯이 anotherMethod() 메소드에 경고 메시지가 표시됩니다.

예시 #4

다음으로 @SuppressWarnings를 사용하여 아래와 같이 여러 경고를 억제하는 @SuppressWarnings 주석을 이해하기 위한 Java 코드를 작성합니다.

코드:

//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 주석은 여러 경고를 억제하거나 무시하기 위해 @SuppressWarnings({“unchecked”, “deprecation”})로 main() 메서드에 주석이 추가됩니다. "선택 취소" 및 "지원 중단". 이는 컴파일러가 "선택 취소" 및 "지원 중단"과 관련된 경고를 발행하지 않음을 의미합니다.

결론

@SuppressWarning은 주석이 달린 프로그램의 특정 부분에 대해 지정된 경고를 무시하도록 컴파일러에 알리는 Java의 주석입니다.

위 내용은 자바의 @SuppressWarnings의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바 @상속됨다음 기사:자바 @상속됨