我的問題來自從JSONObject獲取Iterator。使用JSON迭代器的類型安全警告
代碼最簡單的形式生成錯誤:
String json = client.retrieveList();
JSONObject jsonList = new JSONObject(json);
Iterator<String> i = jsonList.keys();
while(i.hasNext())
{
String next = i.next();
JSONArray jsonArray = jsonList.getJSONArray(next);
// Do stuff with jsonArray, example: jsonArray.getString(0), jsonArray.getString(1);
}
確切的警告是: 類型安全:類型Iterator的表達需要選中轉換爲符合迭代器
所以,問題是如何能我根除了這個警告?
非常感謝!
我希望可能會有比抑制它更好的方法。我認爲這可能是我採取的方法。 – Knossos 2010-11-28 13:15:29
@SuppressWarnings(「unchecked」)是一個非常危險的習慣。假設「jsonList」可能爲空 - 好吧,現在你已經隱藏了警告。如果我的團隊中的任何開發人員使用這個來隱藏警告,我認爲這是一個嚴重的警告信號。無論您在錄像帶上寫什麼評論,都絕對不要在錄像帶警告燈上放置膠帶,這是「良好做法」。 修訂:想想看,您至少指定了禁止的警告類型,所以null情況不適用。很公平。但這仍然是一個危險的習慣,而另一個答案確實提供了一個更優雅的解決方案。 – DreadPirateShawn 2012-08-16 05:32:03