java - 空指针异常错误调用方法

标签 java methods nullpointerexception

如果我调用一个方法,我会收到此空指针异常错误。 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/

相关文章:

java - 我仍然不明白 setTag 和 getTag 是如何工作的

Java数组,NullPointerException?

java - 丰富的面孔和数据表

java - 加载下一个图像后刷新 JPanel

java - TextView 对齐两行

java - 延迟新线程上的方法

C、无法通过取消引用检索变量值,未知段错误

java - DDD - 具有树结构的事件溯源

java - ListView中的多个setAdapter

java - 追踪 Java 中 NullPointerExceptions 根本原因的策略?