如果我调用一个方法,我会收到此空指针异常错误。 if (farm1.cropStat(行, 列) )
方法如下
public boolean cropStat(int row, int col)
{
if( !( field1[row][col].harvested ) && field1[row][col] != null )
{
return true;
}
else
{
return false;
}
}
这是初始化
public void initializeCrops()
{
Random rnd = new Random();
int rRow=-1, cCol=-1;
int i, j;
for (i = 0; i< 74; i++)
{
while(rRow <0 || cCol <0)
{
rRow = rnd.nextInt() % 104;
cCol = rnd.nextInt() % 104;
}
field1[rRow][cCol] = new Crops(rRow, cCol);
}
}
请帮忙:(
最佳答案
每当您看到类似这样的图案时
if (someCondition) {
return true;
} else {
return false;
}
将其替换为等效项
return someCondition.
这是同样的事情。
就错误而言,您需要颠倒检查顺序,以便在引用该项目之前查看该项目不为 null
:
return field1[row][col] != null && !( field1[row][col].harvested );
运算符&&
的设计方式是,一旦它发现结果将是错误的,它就会停止进一步的评估。在上面的例子中,如果field1[row][col]
为null
,&&
将停止,防止空指针异常。
关于java - 空指针异常错误调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793156/