使用JSON Iterator键入安全警告

Kno*_*sos 34 java android json

我的问题来自从JSONObject获取Iterator.

最简单形式的代码生成错误:

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);
}
Run Code Online (Sandbox Code Playgroud)

确切的警告是:类型安全:Iterator类型的表达式需要未经检查的转换以符合Iterator

所以问题是如何根除这一警告?

非常感谢!

mom*_*omo 95

我意识到这是一个老话题,但对于未来的搜索者......

你也可以推断一个泛型并转换迭代器方法的返回...

Iterator<?> i = jsonList.keys();

while(i.hasNext())
{
    String next = (String) i.next();
    ...
Run Code Online (Sandbox Code Playgroud)

  • +1似乎这是更好/最好的答案. (4认同)