Java 未经检查的转换
我不想压制警告。是否有其他方法来处理此警告 “迭代器类型的表达式需要未经检查的转换以符合迭代器”Java 未经检查的转换,java,android,json,iterator,Java,Android,Json,Iterator,我不想压制警告。是否有其他方法来处理此警告 “迭代器类型的表达式需要未经检查的转换以符合迭代器” Iterator it=schemaJSON.getJSONObject(“body”).keys(); 我认为keys()返回的是一个迭代器实例,而不是迭代器,因此您要么离开字符串,要么只接受警告;-) 您可以在这里找到您的答案: Iterator it=schemaJSON.getJSONObject(“body”).keys(); while(it.hasNext()) { String ne
Iterator it=schemaJSON.getJSONObject(“body”).keys();
我认为keys()
返回的是一个迭代器
实例,而不是迭代器
,因此您要么离开字符串
,要么只接受警告;-) 您可以在这里找到您的答案:
Iterator it=schemaJSON.getJSONObject(“body”).keys();
while(it.hasNext())
{
String next=(String)it.next();
...
您无法避免此警告,因为androidJSONObject#keys()
返回一个“原始”迭代器。但是您可以使用@SuppressWarnings
注释来抑制警告:
@SuppressWarnings("unchecked")
Iterator<String> it = schemaJSON.getJSONObject("body").keys();
@SuppressWarnings(“未选中”)
迭代器it=schemaJSON.getJSONObject(“body”).keys();
如果您只想删除警告
“迭代器类型的表达式需要未经检查的转换以符合迭代器”
那么这样做,
Iterator<String> it = (Iterator<String>)schemaJSON.getJSONObject("body").keys();
Iterator it=(Iterator)schemaJSON.getJSONObject(“body”).keys();
但这将导致新警告,但旧警告将被删除
类型安全:未选中从迭代器到迭代器的强制转换
用于删除所有警告
Iterator<?> it = schemaJSON.getJSONObject("body").keys();
while(it.hasNext())
{
String nextElement = (String) it.next();
Iterator it=schemaJSON.getJSONObject(“body”).keys();
while(it.hasNext())
{
String nextElement=(String)it.next();
@Nfear请接受Ben在年提出的答案,他是第一个指出解决方案的人……这是所有DUP中最好的答案。我来这里是想知道为什么会有警告,而不仅仅是如何抑制它。
Iterator<String> it = (Iterator<String>)schemaJSON.getJSONObject("body").keys();
Iterator<?> it = schemaJSON.getJSONObject("body").keys();
while(it.hasNext())
{
String nextElement = (String) it.next();