Java FindBugs和静态初始化顺序
我有以下Java代码:Java FindBugs和静态初始化顺序,java,static,initialization,static-analysis,findbugs,Java,Static,Initialization,Static Analysis,Findbugs,我有以下Java代码: public class Something { static { new Something(); } public static final int[] EMPTY_INT_ARRAY = new int[0]; } 我正在使用查找代码错误,但从未出现以下错误: SI:静态初始值设定项在所有静态最终字段之前创建实例 分配的(分配的前一个实例) 类的静态初始值设定项在 所有静态最终字段都已指定 这是证明此问题的正确案例吗?
public class Something {
static {
new Something();
}
public static final int[] EMPTY_INT_ARRAY = new int[0];
}
我正在使用查找代码错误,但从未出现以下错误:
SI:静态初始值设定项在所有静态最终字段之前创建实例
分配的(分配的前一个实例)
类的静态初始值设定项在
所有静态最终字段都已指定
这是证明此问题的正确案例吗?为什么它没有发现这个代码问题?没有尝试过,但我认为一个例子是:
public class Something {
static {
new Something();
}
public static final int CONST = 42;
}
正如麦角酸所发现的,该错误在FindBugs中的严重性较低(16)。您必须手动降低最小阈值以使其显示。愚蠢的我,我只粘贴了部分类。很抱歉我用应该的方式更新了我的问题。问题是这个错误在FindBugs(16)中的严重性较低。您必须手动降低最小阈值以使其显示。也许你可以编辑你的答案来反映这一点,这样我就可以接受它(这样其他人就可以看到它,如果他们寻找这个问题)。