Java 空白最终字段种子可能未被初始化。
因此,我试图设置一个默认内存大小并创建一个启发式数组,但我不断得到错误“空白的最终字段种子可能尚未初始化”。aoHeuristics是一个启发式数组。我不确定我做错了什么Java 空白最终字段种子可能未被初始化。,java,Java,因此,我试图设置一个默认内存大小并创建一个启发式数组,但我不断得到错误“空白的最终字段种子可能尚未初始化”。aoHeuristics是一个启发式数组。我不确定我做错了什么 public class zoo_Problem extends ProblemDomain implements Visualisable { private final long seed; public int defaultSize; private HeuristicInterface[
public class zoo_Problem extends ProblemDomain implements Visualisable {
private final long seed;
public int defaultSize;
private HeuristicInterface[] aoHeuristics;
public zoo_Problem(long seed, int defaultSize) {
super(seed);
this.defaultSize = 5;
int[][] aoHeuristics = { { 0, 1, 2 }, { 3, 4 }, { 5, 6 } };
}
}
初始化
final
字段。将此行添加到构造函数:
this.seed = seed;
如果您正在将种子
传递给超类构造函数,您可能希望删除该字段
对于aoHeuristics
,您需要为数组中的每个元素创建适当类型的新对象,以及创建数组并将其分配给字段
该语言不需要指定字段
aoHeuristics
,因为它不是final
——它将是null
,每当您尝试取消引用它时,您将得到一个NullPointerException
。ProblemDomain是什么样子?您希望在这两个位置都有相同的种子?我想你不应该在zoo_Problem
中添加第二个种子,但我只是在猜测,没有看到ProblemDomain
。您可以添加this.seed=seed代码>后超级(种子)代码>并将其留到另一天。