@SuppressWarnings("unchecked") 該批註的作用是給編譯器一條指令,告訴它對被批註的代碼元素內部的某些警告保持靜默。
關鍵字 用途
deprecation 使用了不贊成使用的類或方法時的警告
unchecked 執行了未檢查的轉換時的警告,例如當使用集合時沒有用泛型 (Generics) 來指定集合保存的類型。
fallthrough 當 Switch 程序塊直接通往下一種情況而沒有 Break 時的警告。
path 在類路徑、源文件路徑等中有不存在的路徑時的警告。
serial 當在可序列化的類上缺少 serialVersionUID 定義時的警告。
finally 任何 finally 子句不能正常完成時的警告。
all 關於以上所有情況的警告。
@SuppressWarnings 批註允許您選擇性地取消特定代碼段(即,類或方法)中的警告。其中的想法是當您看到警告時,您將調查它,如果您確定它不是問題,您就可以添加一個 @SuppressWarnings 批註,以使您不會再看到警告。雖然它聽起來似乎會屏蔽潛在的錯誤,但實際上它將提高代碼安全性,因爲它將防止您對警告無動於衷 — 您看到的每一個警告都將值得注意。
例如
@SuppressWarnings("unchecked")
public Map getPendingStrXML(String startTime) throws DataAccessException{
// 返回的待辦字符串
Map mapPendingXml = new HashMap();
// 待辦拼裝的省份String
StringBuffer strXml = new StringBuffer();
// 待辦拼裝的總部待辦String
StringBuffer strHqXml = new StringBuffer();
// 省份待辦存在標識位
boolean bpv = false;
// 總部待辦存在標識位
//.........