咱們能夠在方法上加上@SuppressWarnings註解就能夠消除這些警告的產生,註解的使用有三種:html
使用:
@SuppressWarnings(「」)
@SuppressWarnings({})
@SuppressWarnings(value={})
1. @SuppressWarnings("unchecked") [^ 抑制單類型的警告]less
2. @SuppressWarnings("unchecked","rawtypes") [^ 抑制多類型的警告]ide
示例:函數
· @SuppressWarnings("unchecked")源碼分析
告訴編譯器忽略 unchecked 警告信息,如使用List,ArrayList等未進行參數化產生的警告信息。spa
· @SuppressWarnings("serial")調試
若是編譯器出現這樣的警告信息:The serializable class WmailCalendar does not declare a static final serialVersionUID field of type longrest
使用這個註釋將警告信息去掉。code
· @SuppressWarnings("deprecation")htm
若是使用了使用@Deprecated註釋的方法,編譯器將出現警告信息。
使用這個註釋將警告信息去掉。
· @SuppressWarnings("unchecked", "deprecation")
告訴編譯器同時忽略unchecked和deprecation的警告信息。
· @SuppressWarnings(value={"unchecked", "deprecation"})
等同於@SuppressWarnings("unchecked", "deprecation")
->經過源碼分析可知@SuppressWarnings其註解目標爲類、字段、函數、函數入參、構造函數和函數的局部變量。建議把註解放在最近進警告發生的位置。
下面列舉警告關鍵字:
關鍵字 |
用途 |
---|---|
all |
to suppress all warnings (抑制全部警告) |
boxing |
to suppress warnings relative to boxing/unboxing operations (抑制裝箱、拆箱操做時候的警告) |
cast |
to suppress warnings relative to cast operations (抑制映射相關的警告) |
dep-ann |
to suppress warnings relative to deprecated annotation (抑制啓用註釋的警告) |
deprecation |
to suppress warnings relative to deprecation (抑制過時方法警告) |
fallthrough |
to suppress warnings relative to missing breaks in switch statements (抑制確在switch中缺失breaks的警告) |
finally |
to suppress warnings relative to finally block that don’t return (抑制finally模塊沒有返回的警告) |
hiding |
to suppress warnings relative to locals that hide variable(抑制相對於隱藏變量的局部變量的警告) |
incomplete-switch |
to suppress warnings relative to missing entries in a switch statement (enum case)(忽略沒有完整的switch語句) |
nls |
to suppress warnings relative to non-nls string literals( 忽略非nls格式的字符) |
null |
to suppress warnings relative to null analysis( 忽略對null的操做) |
rawtypes |
to suppress warnings relative to un-specific types when using generics on class params( 使用generics時忽略沒有指定相應的類型) |
restriction |
to suppress warnings relative to usage of discouraged or forbidden references( 抑制禁止使用勸阻或禁止引用的警告) |
serial |
to suppress warnings relative to missing serialVersionUID field for a serializable class( 忽略在serializable類中沒有聲明serialVersionUID變量) |
static-access |
to suppress warnings relative to incorrect static access( 抑制不正確的靜態訪問方式警告) |
synthetic-access |
to suppress warnings relative to unoptimized access from inner classes( 抑制子類沒有按最優方法訪問內部類的警告) |
unchecked |
to suppress warnings relative to unchecked operations( 抑制沒有進行類型檢查操做的警告) |
unqualified-field-access |
to suppress warnings relative to field access unqualified( 抑制沒有權限訪問的域的警告) |
unused |
to suppress warnings relative to unused code( 抑制沒被使用過的代碼的警告) |