检查器框架:在默认构造函数中抑制警告

checker framework: Supress Warnings in default constructor

我有两个构造函数:正确初始化对象的普通构造函数和生成初始化字段警告的 Hibernate 的第二个默认构造函数。消除警告的首选方法是什么?

package test;

public class Example {
    String x;

    public Example(String x) {
        this.x = x;
    }

    Example() {
        // Ctor for Hibernate, warnings generated here.
    }
}

您没有提到查看文档,所以我不确定您是否这样做了。 Checker Framework manual contains a chapter titled "Suppressing warnings",其中可能包含您需要的所有信息。

最常见的方法是编写 @SuppressingWarnings annotation,这是抑制来自 Java 编译器的警告的标准方法。

您应该将它写在尽可能小的程序元素上(例如局部变量声明而不是整个构造函数或 class),并且您应该提供尽可能具体的键。原因是为了避免意外抑制比预期更多的警告。