我正在完成一项任务,我认为我已经找到了问题,但我得到了相同的结果。使用FindBugs应用程序,我能够看到一个带有以下代码行的大文件:
out.writeObject(accountMap.get(i));
我收到一个错误说:
Integer与...中的预期参数类型String不兼容
所以我通过将int转换为String来纠正它:
out.writeObject(accountMap.get(Integer.toString(i)));
使用相同的错误结果。我误解了什么吗?
答案 0 :(得分:6)
我重新创建了你的问题,Findbugs发现了同样的错误。到目前为止一切都很好。
Integer is incompatible with expected argument type String in ...(String[]) [Scariest(1), High confidence]
然后我应用了您的更改(Integer.toString(i))并在运行Findbugs 再次时发现,错误已清除(与您的观察结果不同)。
我怀疑你没有重新运行findbugs?
我使用Findbugs版本测试:3.0.1.20150306-5afe4d1
PS:以下是关于为何存在错误的一些历史记录(与Map#相关而不使用泛型):Why is java.util.Map.get(...) not generic?