我从Java代码收到以下警告:
Lexer.java:591: warning: [unchecked] unchecked conversion
found : java.util.ArrayList
required: java.util.ArrayList<java.lang.Integer>
ArrayList<Integer> tempArray = temp.get(theToken);
Run Code Online (Sandbox Code Playgroud)
我已经尝试将它转换为ArrayList,但这没关系,它仍然出现.
我怎么能摆脱这个?
调用get返回原始(非泛型)ArrayList.
没有足够的背景来提出最好的方法.get可以修改该方法以将其返回类型声明为List<Integer>.如果temp是a Map,请使用正确的泛型类型参数引用它:Map<Token, List<Integer>>.或者,如果您无法修改返回类型,则可以将结果分配给a List<?>,并Integer在使用它们时将其内容转换为.
请注意,我建议List而不是ArrayList.通常声明,具有抽象类型的API(而不是您碰巧使用的实现类)确保了未来的灵活性.
| 归档时间: |
|
| 查看次数: |
2026 次 |
| 最近记录: |