我有一个非常简单的类并使用 Immutables 库。自动生成的代码定义了 equals 方法,如下所示:
@Override
public boolean equals(@Nullable Object another) {
@Nullable 注释会导致以下 FindBugs 错误:
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION:方法收紧参数上的空值注释
方法应该始终实现它覆盖的方法的协定。因此,如果方法采用标记为@Nullable 的参数,则不应在子类中使用该参数为@Nonnull 的方法覆盖该方法。这样做违反了该方法应处理空参数的约定。
我正在使用 Immutables-value-2.5.6.jar
有没有人看到这个错误?
我通过添加以下内容暂时缓解了这个问题:
@SuppressFBWarnings
到不可变类。但我不认为这是一个长期的解决方案。一定还有其他我想念的东西。