SuppressWarnings註解用法詳解

2021-09-29 15:43:35 字數 1915 閱讀 6592

j2se 提供的最後乙個批註是 @suppresswarnings。該批註的作用是給編譯器一條指令,告訴它對被批註的**元素內部的某些警告保持靜默。

@suppresswarnings 批註允許您選擇性地取消特定**段(即,類或方法)中的警告。其中的想法是當您看到警告時,您將調查它,如果您確定它不是問題,

您就可以新增乙個 @suppresswarnings 批註,以使您不會再看到警告。雖然它聽起來似乎會遮蔽潛在的錯誤,但實際上它將提高**安全性,因為它將防止

您對警告無動於衷 — 您看到的每乙個警告都將值得注意。

我經常遇到的問題是不曉得什麼時候用@supresswarnings的什麼批註好,所以做了如下整理

使用:@suppresswarnings(「」)

上述**編譯通過且可以執行,但每行前面的「感嘆號」就嚴重阻礙了我們判斷該行是否設定的斷點了。這時我們可以在方法前新增

@suppresswarnings(「unused」) 去除這些「感嘆號」。

作用:用於抑制編譯器產生警告資訊。

示例1——抑制單型別的警告:

@suppresswarnings

("unchecked"

)public

void

additems

(string item)

示例2——抑制多型別的警告:

@suppresswarnings

(value=

)public

void

additems

(string item)

示例3——抑制所有型別的警告:

@suppresswarnings

("all"

)public

void

additems

(string item)

通過 @suppresswarnings 的原始碼可知,其註解目標為類、字段、函式、函式入參、建構函式和函式的區域性變數。

而大家建議註解應宣告在最接近警告發生的位置。

關鍵字用途

all抑制所有警告

boxing

抑制裝箱、拆箱操作時候的警告

cast

抑制對映相關的警告

dep-ann

抑制啟用注釋的警告

deprecation

抑制過期方法警告

fallthrough

抑制確在switch中缺失breaks的警告

finally

抑制finally模組沒有返回的警告

hiding

incomplete-switch

忽略沒有完整的switch語句

nls忽略非nls格式的字元

null

忽略對null的操作

rawtypes

使用generics時忽略沒有指定相應的型別

restriction

serial

忽略在serializable類中沒有宣告serialversionuid變數

static-access

抑制不正確的靜態訪問方式警告

synthetic-access

抑制子類沒有按最優方法訪問內部類的警告

unchecked

抑制沒有進行型別檢查操作的警告

unqualified-field-access

抑制沒有許可權訪問的域的警告

unused

抑制沒被使用過的**的警告

SuppressWarnings註解用法

suppresswarnings 標示下面的或者一句 忽略在寫 的實收經常出現各種黃色警告,對於我們那些有 潔癖的人,簡直是不可容忍。自己的孩子怎麼能容忍任何異常,包括警告。suppresswarnings all 抑制所有型別的警告 suppresswarnings unused serial與r...

SuppressWarnings 用法說明

suppresswarnings unchecked 抑制未檢查的轉化,例如集合沒有指定型別的警告 suppresswarnings unused 抑制未使用的變數的警告 suppresswarnings resource 抑制與使用closeable型別資源相關的警告 suppresswarnin...

nginx limit req zone用法詳解

nginx可以使用ngx http limit req module模組的limit req zone指令進行限流訪問,防止使用者惡意攻擊刷爆伺服器。ngx http limit req module模組是nginx預設安裝的,所以直接配置即可。首先,在nginx.conf檔案中的http模組下配置...