日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

@SuppressWarnings使用的正确姿势

發布時間:2025/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 @SuppressWarnings使用的正确姿势 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@SuppressWarnings比較常見,理解和使用起來都很簡單。

但是就這這個機會系統的整理一下。

通過源碼可以看出,支持在類、屬性、方法、參數、構造方法、本地變量上使用。

@SuppressWarnings注解的使用有三種:

  • @SuppressWarnings(“unchecked”) [抑制單類型的警告]
  • @SuppressWarnings(“unchecked”,“rawtypes”) [抑制多類型的警告]
  • @SuppressWarnings(“all”) [ 抑制所有類型的警告]
  • 下面一個簡單的例子:

    public class Machine {private List versions;public void addVersion(String version) {versions.add(version);} }

    編譯器會發出使用原始數據類型的警告

    如果不想修復這個問題,可以通過@SuppressWarnings注解來抑制編譯器的警告。

    該注解允許指定忽略該方法的哪些特定警告。
    不同的編譯器或IDE的警告類型可能會不同,最常見的兩種類型是deprecation和unchecked。

    deprecation 告訴編譯器忽略過時的方法或類型檢查。
    unchecked 告訴編譯器忽略原始類型檢查

    public class Machine {private List versions;@SuppressWarnings("unchecked")// or@SuppressWarnings({"unchecked"})public void addVersion(String version) {versions.add(version);} }

    如果想抑制多種類型的警告,可以采用字符串數組方式

    @SuppressWarnings({"unchecked", "deprecated"})

    Eclipse Galileo版本支持的抑制警告的名稱:

    關鍵字用途
    allto suppress all warnings (抑制所有警告)
    boxingto suppress warnings relative to boxing/unboxing operations (抑制裝箱、拆箱操作時候的警告)
    castto suppress warnings relative to cast operations (抑制映射相關的警告)
    dep-annto suppress warnings relative to deprecated annotation (抑制啟用注釋的警告)
    deprecationto suppress warnings relative to deprecation (抑制過期方法警告)
    fallthroughto suppress warnings relative to missing breaks in switch statements (抑制確在switch中缺失breaks的警告)
    finallyto suppress warnings relative to finally block that don’t return (抑制finally模塊沒有返回的警告)
    hidingto suppress warnings relative to locals that hide variable(抑制相對于隱藏變量的局部變量的警告)
    incomplete-switchto suppress warnings relative to missing entries in a switch statement (enum case)(忽略沒有完整的switch語句)
    nlsto suppress warnings relative to non-nls string literals( 忽略非nls格式的字符)
    nullto suppress warnings relative to null analysis( 忽略對null的操作)
    rawtypesto suppress warnings relative to un-specific types when using generics on class params( 使用generics時忽略沒有指定相應的類型)
    restrictionto suppress warnings relative to usage of discouraged or forbidden references( 抑制禁止使用勸阻或禁止引用的警告)
    serialto suppress warnings relative to missing serialVersionUID field for a serializable class( 忽略在serializable類中沒有聲明serialVersionUID變量)
    static-accessto suppress warnings relative to incorrect static access( 抑制不正確的靜態訪問方式警告)
    synthetic-accessto suppress warnings relative to unoptimized access from inner classes( 抑制子類沒有按最優方法訪問內部類的警告)
    uncheckedto suppress warnings relative to unchecked operations( 抑制沒有進行類型檢查操作的警告)
    unqualified-field-accessto suppress warnings relative to field access unqualified( 抑制沒有權限訪問的域的警告)
    unusedto suppress warnings relative to unused code( 抑制沒被使用過的代碼的警告)

    參考文章:

    https://www.baeldung.com/java-suppresswarnings

    https://www.cnblogs.com/perfei456/p/8962167.html

    總結

    以上是生活随笔為你收集整理的@SuppressWarnings使用的正确姿势的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。