關於出現類型安全:未經檢查的從 Object 到 ArrayList
的強制類型轉換 警告的解決方法
出現的問題:
出現警告原因如果所示,由於是未經檢查就只直接進行強轉導致出現該警告,如果從服務器端傳過來其他類型的數據則強轉時候就會出錯
解決方法:
Object obj = request.getAttribute("timeSpent");
//檢查是不是ArrayList
if(obj instanceof ArrayList<?>)
{
//取出ArrayList
ArrayList< ? > al = (ArrayList< ? >) obj;
if (al.size() > 0) {
// 一個個轉換過來.
for (int i = 0; i < al.size(); i++) {
// 還得判斷是不是String
Object o = al.get(i);
if(o instanceof String )
{
timeSpent.add((String)o);//timeSpent是前面自己定義的ArrayList
}
}
}
}