Java &引用;“局部变量未初始化”;测试空值时出错
我想我遗漏了一些非常基本的东西,但是在下面的代码中我得到了错误Java &引用;“局部变量未初始化”;测试空值时出错,java,initialization,Java,Initialization,我想我遗漏了一些非常基本的东西,但是在下面的代码中我得到了错误 局部变量数组可能尚未在我测试其空值的行初始化: int [] array; outerloop: for(int x = xMin;x <= xMax;x++){ for(int y = yMin;y <= yMax;y++){ if(condition(x,y)){ array = new int[2]; array[0] = x;
局部变量数组可能尚未在我测试其空值的行初始化
:
int [] array;
outerloop:
for(int x = xMin;x <= xMax;x++){
for(int y = yMin;y <= yMax;y++){
if(condition(x,y)){
array = new int[2];
array[0] = x;
array[1] = y;
break outerloop;
}
}
}
if(array != null){
//do something
}
int[]数组;
外部环路:
对于(int x=xMin;x如果条件x,即使原语和对象可以自动初始化(对象为null),初始化它们也是一个好习惯
注意
必须显式初始化局部变量。Java不会为您初始化它们。我不知道长答案,但短答案是您需要将其声明为int[]array=null;因此int[]array;
的全局声明将允许通过if(array==null)进行测试
但不是本地声明?我发现这篇文章回答了这个问题,你的回答最接近核心问题:
int [] array;
int [] array = null;