Java 带有数组的if语句的Null指针异常

Java 带有数组的if语句的Null指针异常,java,arrays,if-statement,nullpointerexception,Java,Arrays,If Statement,Nullpointerexception,我在被星星包围的直线上不断得到一个空指针异常。我怎样才能解决这个问题?我不明白为什么会发生这种情况,因为我用false填充了currentGuessArray。 (我没有包括所有的代码,只包括与currentGuessArray相关的部分。) publicstaticboolean[]currentGuessArray; public void initGuess(){ //为currentGuessArray变量创建新数组 boolean[]currentGuessArray=新布尔值[20]

我在被星星包围的直线上不断得到一个空指针异常。我怎样才能解决这个问题?我不明白为什么会发生这种情况,因为我用false填充了currentGuessArray。 (我没有包括所有的代码,只包括与currentGuessArray相关的部分。)

publicstaticboolean[]currentGuessArray;
public void initGuess(){
//为currentGuessArray变量创建新数组
boolean[]currentGuessArray=新布尔值[20];
//将所有插槽初始化为false
Arrays.fill(currentGuessArray,false);
}
公共字符串getCurrentGuessArray(){
//返回的字符串中有“\u1”表示未公开的字母
//“遍历”currentWord和currentGuessArray数组并创建字符串
如果(!currentWord.equals(“史瑞克”)和(&!currentWord.equals(“多比”)){
int j=1;
而((!currentWord.substring(j,j).equals(“”)和&(j
假设调用了
initGuess
,您就是
currentGuessArray
。替换

boolean [] currentGuessArray = new boolean[20];


假设调用了
initGuess
,您就是
currentGuessArray
。替换

boolean [] currentGuessArray = new boolean[20];


您已经定义了一个与类变量同名的局部变量

因此,局部变量被声明、填充为false,然后在方法末尾被垃圾收集

当您引用currentGuessArray(作为类变量,我想是在客户机代码中的某个地方)时,它从未被设置为任何引用,因此您会得到null指针异常。请尝试以下方法:

public static boolean [] currentGuessArray;


public void initGuess() { 
   // creates a new Array for the currentGuessArray variable 
   currentGuessArray = new boolean[20];                       //Reisclef changed this line
   // initialize all slots to false
   Arrays.fill(currentGuessArray, false);
}

您已经定义了一个与类变量同名的局部变量

因此,局部变量被声明、填充为false,然后在方法末尾被垃圾收集

当您引用currentGuessArray(作为类变量,我想是在客户机代码中的某个地方)时,它从未被设置为任何引用,因此您会得到null指针异常。请尝试以下方法:

public static boolean [] currentGuessArray;


public void initGuess() { 
   // creates a new Array for the currentGuessArray variable 
   currentGuessArray = new boolean[20];                       //Reisclef changed this line
   // initialize all slots to false
   Arrays.fill(currentGuessArray, false);
}

为什么
currentGuessArray
array是静态的?为什么
currentGuessArray
array是静态的?