Java中的@SuppressWarnings是一個註解,用來通知編譯器抑製程式某一部分的指定警告。 @SuppressWarnings 是一個內建註釋,就像表示元資料的標籤一樣,它提供了附加資訊。有時警告是好的,但有時它們會不合適且令人討厭,那麼程式設計師有時可以通知編譯器抑制這樣的警告。注意@SuppressWarnings中指定的編譯器警告會抑製程式的某一部分;例如,如果一個方法被註解為抑制指定的警告,則編譯器僅抑制該方法內的指定警告,但如果一個類別被註釋為抑制指定的警告,則編譯器將抑制該類別內的方法中的指定警告。 🎜>
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法
@SuppressWarnings( "warningOption" )
參數
@SuppressWarnings 如何在 Java 中使用範例工作?
範例#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 warning,現在裡面的所有程式碼也應用了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();」的警告因為此方法在 swing API 中已被 setVisible() 方法棄用。如程式碼中所示,它使用 @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 註解在main() 方法上被註解為@SuppressWarnings({“unchecked”, “deprecation”}),以抑製或忽略多個警告“ unchecked”和“deprecation”,這表示編譯器不會發出與“unchecked”和“deprecation”相關的警告。
@SuppressWarning是Java中的一個註釋,它通知編譯器忽略對其註釋的程式特定部分的指定警告。
以上是Java 中的@SuppressWarnings的詳細內容。更多資訊請關注PHP中文網其他相關文章!