java - 我在函数中遇到空指针异常,不知道如何修复它

标签 java nullpointerexception

功能是:

public Integer[] details;
private void putDetails(Integer l){
    if (l != null){
        int n = new Integer(0);
        n = details[l];
        details[l]=n+1;
    }
}

错误消息显示:

java.lang.NullPointerException
    at operacional.an_lex.putDetails(an_lex.java:30)

其中第 30 行是:n = details[l];

你能帮我吗?

最佳答案

您需要初始化details数组:

//some number is the size of the array
int[] details = new int[some number]; 

或者如果你想用 0 填充元素,你可以像这样初始化:

int[] details = new int[]{0,0,0,0}; 

发生的情况是,您从 details 数组中获取一个元素,但该元素没有值。我会检查以确保您在该数组的元素中分配了值。

关于java - 我在函数中遇到空指针异常,不知道如何修复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334371/

相关文章:

android - IllegalStateException: fragment <ThisFragment> 当前不在 FragmentManager 中

java - 什么是 NullPointerException,我该如何解决?

java - 对创建工作表感到困惑

java - Android:创建表时抛出错误

java - 通过 Java 中的 selenium Web 驱动程序处理另存为对话框

java - 安卓 Java : AlertDialog method called from another class causes null pointer exception

java - 单例共享首选项问题

java - 如何使用 mvn :exec? 打印 IPA 字符

java - 如何使用输入来获取列表中的特定元素?

java - Java中1.5亿位数字的平方