在Java中,如何在循环变量和循环变量之间抑制未经检查的强制转换警告?如,
// Actually a List<List<Integer>>
List<List> iterable = thirdPartyApiCallICantChange();
for(List<Integer> item : iterable) { ... }
Java编译器抱怨在“iterable”变量的开头有一个未经检查的强制转换,但我无法弄清楚如何抑制它。
我已尝试执行@SuppressWarnings("unchecked") List<Integer> item
,但报告了同一位置的相同错误。
我已尝试将iterable
投射到List<List<Integer>>
,但我无法弄清楚如何;编译器似乎没有接受正常的(List<List<Integer>>) iterable
。
答案 0 :(得分:1)
分配到iterable
时投弃,如:
@SuppressWarnings({ "unchecked", "rawtypes" })
List<List<Integer>> iterable = (List)thirdPartyApiCallICantChange();
现在for
循环没有任何警告。