我在功能中有一个空指针异常,不知道如何解决它



函数是:

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数组中获得一个元素,但是该元素没有值。我会检查以确保您在该数组元素中具有分配的值。