并非来自http://findbugs.sourceforge.net/bugDescriptions.html的所有描述对我来说都是清楚的。当然,我可以研究实现,但如果有人比我更有经验,一些解释和例子会很棒。
- 当出现问题时,您是否有一些 UI_INHERITANCE_UNSAFE_GETRESOURCE 示例?
- 在 BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR 我也没有看到问题。如果一种类型比另一种类型“更大”,例如 int 和 float,则结果为 float。如果它的整数和浮点数也是包装器浮点数。这就是我所期望的。
- GC_UNRELATED_TYPES 真的有助于查找错误吗?编译器的工作不是检查是否——以给定的例子——
Foo
不能进入Collection<String>
. - HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS 的意思是
bla(Foo f){hashtable.put(f);}
'Foo' 是不可散列的吗?FingBugs 也“看到”子类吗? - NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH 比 NP_ALWAYS_NULL_EXCEPTION 更“错误”?为什么有两个错误案例,还有一个 NP_NULL_ON_SOME_PATH_EXCEPTION 呢?听起来和我很相似。
- SIO_SUPERFLUOUS_INSTANCEOF 的示例是什么?类似的东西
foo(String s){if (s intenceof String) ...
。这也做了一个空检查,但这不是这里的测试...... - NN_NAKED_NOTIFY。我认为描述不清楚。不需要改变状态。如果我使用 new Object() 等待并通知我不会更改对象状态。或者状态是锁定状态?我不明白。
- SP_SPIN_ON_FIELD。编译器会将其从循环中移出真的会发生这种情况吗?这对我来说没有意义,因为从 Thread 外部总是可以更改值。并且如果变量是
volatile
JVM不能缓存值。那么有什么意义呢? - 那就是 STCAL_STATIC_CALENDAR_INSTANCE 和 STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE 或 STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE 之间的区别?
- 为什么 WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL 中的 XXXX.class 比 getClass() 更好?从子类调用的超类中的 getClass() 将始终从子类返回 Class 对象,我认为这很好。
- EQ_UNUSUAL 到底是做什么的?它应该检查参数是否与类本身的类型相同,但事实并非如此?
- 你有过休息的问题吗?SF_SWITCH_FALLTHROUGH 有真正的价值吗?对我来说听起来很强大。
- 不知道 TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK 和 TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK 可能是什么。