在 Java 中,如何抑制循环变量和循环变量之间未经检查的强制转换警告?例如,
// Actually a List<List<Integer>>
List<List> iterable = thirdPartyApiCallICantChange();
for(List<Integer> item : iterable) { ... }
Java 编译器提示在“可迭代”变量的开头发生了未经检查的转换,但我不知道如何抑制它。
我尝试过 @SuppressWarnings("unchecked") List<Integer> item
,但是在同一个地方报了同样的错误。
我尝试过转换 iterable
到 List<List<Integer>>
,但我不知道该怎么做;正常(List<List<Integer>>) iterable
编译器似乎不接受。
最佳答案
分配给iterable
时进行强制转换,如下所示:
@SuppressWarnings({ "unchecked", "rawtypes" })
List<List<Integer>> iterable = (List)thirdPartyApiCallICantChange();
现在 for
循环不会有任何警告。
关于java - Java 的 for-each 循环 init 中抑制警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34095081/