@SuppressWarnings 用法


從Java 5.0起,您可以使用java.lang.SuppressWarning注釋,來停用與編譯單元子集相關的編譯警告

作用:用於抑制編譯器產生警告信息。

Idea 設置泛型檢查,變量、方法未使用檢查

從 eclipse 轉換到idea 發現有很多不習慣的地方,比如說

String s;
List list = new ArrayList();

沒有未使用的變量,未檢查泛型,未使用的方法提示,特意查找了一下相關資料

設置泛型檢查

我使用的是mac電腦,windows電腦應該類似

打開如圖

會出現如下頁面

選擇 editor —> inspections —> 搜索 Raw use of —> 勾上 Raw use of parameterized class

效果如圖:

設置變量未使用提示

打開如圖:

出現如下頁面

在 Editor —> General —> Errors and Warnings —> 選擇 Unused symbol

**右側勾選上 Error stripe mark 和 Effects 下面選擇 Underwaved波浪線 **

參考:

https://blog.csdn.net/Lovincc/article/details/80464782

https://blog.csdn.net/codejas/article/details/78657560

變量未使用產生的警告

如上設置完成之后,變量未使用的提示應該是這樣的:

如圖 , list、set、map 都未被使用

1.為未使用的變量設置SuppressWarning

在方法前添加

@SuppressWarning("unused")

能夠越過變量未使用檢查,@SuppressWarning 中的屬性我們稍后再討論。

2.對未使用的方法添加SuppressWarning跳過方法未調用檢查

可以在方法上添加SuppressWarning 跳過對方法未使用的檢查

3.為單行泛型添加SuppressWarning 跳過泛型檢查

在單個泛型代碼上添加@SuppressWarning("rawtypes")可以跳過泛型檢查,但是需要注意: 還需要在方法上添加

@SuppressWarning("unchecked")注釋

如上圖所示,可以對單個泛型設置@SuppressWarning 跳過類型檢查

4. 為方法體上添加SuppressWarning 跳過泛型檢查

如果一個方法體上含有多個未被檢查的泛型,需要在方法體上添加@SuppressWarning(value={"unchecked","rawtypes"}) 跳過泛型檢查

如圖所示:

也可以使用 @SuppressWarning("all") ,來跳過所有的檢查。

5.@SuppressWarning 中的屬性介紹以及屬性說明

  • all,抑制所有警告
  • boxing,抑制與封裝/拆裝作業相關的警告
  • cast,抑制與強制轉型作業相關的警告
  • dep-ann,抑制與淘汰注釋相關的警告
  • deprecation,抑制與淘汰的相關警告
  • fallthrough,抑制與switch陳述式中遺漏break相關的警告
  • finally,抑制與未傳回finally區塊相關的警告
  • hiding,抑制與隱藏變數的區域變數相關的警告
  • incomplete-switch,抑制與switch陳述式(enum case)中遺漏項目相關的警告
  • javadoc,抑制與javadoc相關的警告
  • nls,抑制與非nls字串文字相關的警告
  • null,抑制與空值分析相關的警告
  • rawtypes,抑制與使用raw類型相關的警告
  • resource,抑制與使用Closeable類型的資源相關的警告
  • restriction,抑制與使用不建議或禁止參照相關的警告
  • serial,抑制與可序列化的類別遺漏serialVersionUID欄位相關的警告
  • static-access,抑制與靜態存取不正確相關的警告
  • static-method,抑制與可能宣告為static的方法相關的警告
  • super,抑制與置換方法相關但不含super呼叫的警告
  • synthetic-access,抑制與內部類別的存取未最佳化相關的警告
  • sync-override,抑制因為置換同步方法而遺漏同步化的警告
  • unchecked,抑制與未檢查的作業相關的警告
  • unqualified-field-access,抑制與欄位存取不合格相關的警告
  • unused,抑制與未用的程式碼及停用的程式碼相關的警告

文章參考: https://www.ibm.com/support/knowledgecenter/zh-tw/SSQ2R2_9.1.1/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm

后記: @SuppressWarning 注解的主要作用就是抑制編譯時期所產生的警告,從而提高程序的可讀性,對於上面 @SuppressWarning 的所有屬性,讀者不用全部記憶,讀兩遍加深印象即可。用到的時候從google或者本文章都可查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM