首頁  >  文章  >  Java  >  Java 中的@SuppressWarnings

Java 中的@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 支援的警告選項清單未選取、棄用、序列、覆寫、強制轉換、divzero、空白、失敗、路徑、最後和全部。

@SuppressWarnings 如何在 Java 中使用範例工作?

工作原理與範例如下:

範例#1

接下來,我們寫java程式碼來更清楚地理解@SuppressWarnings註解,下面的範例中我們使用@SuppressWarnings來抑制未檢查的警告,如下 –

代碼:

//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);
}
}

輸出:

Java 中的@SuppressWarnings

說明:如上面的程式碼,@SuppressWarnings註解在main()方法上註解為@SuppressWarnings(“unchecked”),要抑制的警告是unchecked warning,現在裡面的所有程式碼也應用了main() 方法。所以現在編譯器不會發出關於這一行「fruits.add(“Apple」)」的警告;因為它使用原始型別集合。如程式碼中所示,它使用 @SuppressWarnings 註解來不修復該警告。在上面的程式碼中,如果我們不使用 @SuppressWarnings 註解,那麼在「fruits.add(“Apple”);」行

範例#2

接下來,我們寫java程式碼來更清楚地理解@SuppressWarnings註解,下面的範例中我們使用@SuppressWarnings來抑制棄用警告,如下所示 –

代碼:

//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);
}
}

輸出:

Java 中的@SuppressWarnings

說明: 如上面的程式碼,@SuppressWarnings 註解在 main() 方法上被註解為 @SuppressWarnings(“deprecation”),要抑制的警告為 deprecation warning。所以現在編譯器不會發出關於這一行「dlog.show();」的警告因為此方法在 swing API 中已被 setVisible() 方法棄用。如程式碼中所示,它使用 @SuppressWarnings 註解來不修復該警告。

範例 #3

接下來,我們寫 java 程式碼來理解 @SuppressWarnings 註解,我們使用 @SuppressWarnings 在類別層級抑制棄用警告,如下所示 –

代碼:

//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();
}
}

輸出:

Java 中的@SuppressWarnings

說明: 如上面的程式碼,@SuppressWarnings 註解被註解為@SuppressWarnings(“deprecation”),這表示現在類別中的所有方法也將警告棄用應用到被抑制,現在編譯器不會在兩個方法行「dlog.show();」中發出警告。

如果我們在上面的程式碼中在 main() 方法層級使用 @SuppressWarnings 註解,則警告訊息將顯示在 anotherMethod() 方法中,如下圖所示。

範例#4

接下來,我們寫java程式碼來理解@SuppressWarnings註釋,我們使用@SuppressWarnings來抑制多個警告,如下所示 –

代碼:

//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);
}
}

輸出:

Java 中的@SuppressWarnings

說明: 如上面的程式碼,@SuppressWarnings 註解在main() 方法上被註解為@SuppressWarnings({“unchecked”, “deprecation”}),以抑製或忽略多個警告“ unchecked”和“deprecation”,這表示編譯器不會發出與“unchecked”和“deprecation”相關的警告。

結論

@SuppressWarning是Java中的一個註釋,它通知編譯器忽略對其註釋的程式特定部分的指定警告。

以上是Java 中的@SuppressWarnings的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Java @Inherited下一篇:Java @Inherited