我努力寻找任何文档(默认情况下未启用)findbug检测器FindUnrelatedTypesInGenericContainer
应该检测哪种错误模式。从它的名称和来源我会假设它检测到以下代码段中的错误,但它没有:
Set<String>[] sets = new Set[10];
for (int i = 0; i < 10; ++i) {
sets[i] = new ConcurrentHashSet<String>();
sets[i].add("Foo");
}
PoJo p = new PoJo("Foo");
sets[5].remove(p); // <- bug
任何人都可以
答案 0 :(得分:1)
以下情况会导致检测到有问题的错误(看起来类似于this link中描述的错误):
Set<Integer> set = new HashSet<>();
set.add(1);
System.out.println(set.remove("x"));
此片段与您的片段之间的唯一区别是您的片段具有泛型类型的数组。在这种情况下,FindBugs可能无法检测到错误。