Eclipse Luna(或更新版本)中是否有一个设置可以在以下情况下显示警告:
Map<K, V> map = new HashMap<>();
map.get(val);
其中 val 的类型不是 K? (警告应显示在第二行)
我知道上面的代码是有效的,因为 Map.get 将一个对象作为参数,但在几乎所有情况下我都会犯错误,所以我希望显示警告。
最佳答案
Eclipse 及其编译器旨在与 Java 编译器和形式语言规范保持一致。 javac
编译器在没有任何警告的情况下接受您的代码(即使启用了 -Xlint
),因为 get
方法采用 Object
.
因此 Eclipse 没有理由提出自己的警告。看起来更像是像 FindBugs 这样的静态分析工具的工作。
关于java - Eclipse - 使用带有意外类型的 map.get 时生成警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138375/