FindBugs Integer 与预期的参数类型不兼容?
FindBugs Integer not compatible with expected argument type?
我正在做一项作业,我认为我已经解决了这个问题,但我得到了相同的结果。使用 FindBugs 应用程序,我能够通过以下代码行看到一个大问题:
out.writeObject(accountMap.get(i));
我收到一个错误说:
Integer is incompatible with expected argument type String in...
所以我通过将 int 转换为 String 来更正它:
out.writeObject(accountMap.get(Integer.toString(i)));
具有相同的错误结果。我是不是误会了什么?
我重现了你的问题,Findbugs 发现了同样的错误。到目前为止一切顺利。
Integer is incompatible with expected argument type String in ...(String[]) [Scariest(1), High confidence]
然后我应用了您的更改 (Integer.toString(i)) 并在 运行ning Findbugs again 时发现错误已清除(这与您的不同观察)。
我怀疑你没有重新运行 findbugs?
我用 Findbugs 版本测试:3.0.1.20150306-5afe4d1
PS:这里有一些关于为什么存在错误的历史(与 Map#get 不使用泛型有关):Why is java.util.Map.get(...) not generic?
我正在做一项作业,我认为我已经解决了这个问题,但我得到了相同的结果。使用 FindBugs 应用程序,我能够通过以下代码行看到一个大问题:
out.writeObject(accountMap.get(i));
我收到一个错误说:
Integer is incompatible with expected argument type String in...
所以我通过将 int 转换为 String 来更正它:
out.writeObject(accountMap.get(Integer.toString(i)));
具有相同的错误结果。我是不是误会了什么?
我重现了你的问题,Findbugs 发现了同样的错误。到目前为止一切顺利。
Integer is incompatible with expected argument type String in ...(String[]) [Scariest(1), High confidence]
然后我应用了您的更改 (Integer.toString(i)) 并在 运行ning Findbugs again 时发现错误已清除(这与您的不同观察)。
我怀疑你没有重新运行 findbugs?
我用 Findbugs 版本测试:3.0.1.20150306-5afe4d1
PS:这里有一些关于为什么存在错误的历史(与 Map#get 不使用泛型有关):Why is java.util.Map.get(...) not generic?