2024年4月4日发(作者:)

Class doesn't override equals in superclass

FindBugs错误修改指南

版本号

1.0

1.1

新建

补充英文标识及出错案例

修改描述 作者

cantellow

卫缺

日期

2011-5-24

2011-6-9

使用方法:复制你的Pattern id,然后用快捷键Ctrl + F查找,即可快速定位。

所有的解释和解决方式只是可能和建议,大多数时候需要根据实际情况而定。

Findbugs也有少量的误报,需要大家自己甄别。

1. EC_UNRELATED_TYPES

Bug: Call to equals() comparing different types

Pattern id: EC_UNRELATED_TYPES, type: EC, category: CORRECTNESS

解释:

两个不同类型的对象调用equals方法,如果equals方法没有被重写,那么调用object的==,

永远不会相等;如果equals方法被重写,而且含有instanceof逻辑,那么还是不会相等。

解决方法:

应该改为ng()

2. IM_BAD_CHECK_FOR_ODD

Bug: Check for oddness that won't work for negative numbers

Pattern id: IM_BAD_CHECK_FOR_ODD, type: IM, category: STYLE

解释:

如果row是负奇数,那么row % 2 == -1,

解决方法:

考虑使用x & 1 == 1或者x % 2 != 0

3. NP_ALWAYS_NULL

Pattern: Null pointer dereference

id: NP_ALWAYS_NULL, type: NP, category: CORRECTNESS

A null pointer is dereferenced here. This will lead to a

NullPointerException when the code is executed.

4. RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE

Bug: Redundant nullcheck of bean1, which is known to be non-null

Pattern id: RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE, type: RCN,

category: STYLE

This method contains a redundant check of a known non-null value against

the constant null.

这种方法包含了一个称为非空对空值的不断重复检查。

修改为:

5. SS_SHOULD_BE_STATIC