加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在类中访问数组时出现NullPointerException

发布时间:2020-12-15 04:20:15 所属栏目:Java 来源:网络整理
导读:我是这个论坛和 Java的新手.下面的代码编译但是当我尝试为变量输入一个值时,我得到NullPointerException.怎么了? class output_harm{ public int[] timestamp; public int[] state; public output_harm(){ timestamp = new int[8]; state = new int[8]; }}o
我是这个论坛和 Java的新手.下面的代码编译但是当我尝试为变量输入一个值时,我得到NullPointerException.怎么了?

class output_harm
{
    public int[] timestamp;
    public int[] state;

    public output_harm(){
        timestamp = new int[8];
        state = new int[8];
    }
}

output_harm[][] outputs =  new output_harm[7][6];   

outputs[0][0].state[0] = 0; //java.lang.NullPointerException

解决方法

问题
output_harm [] [] outputs = new output_harm [7] [6];

这只是初始化一个数组.
当你调用构造函数output_harm()时,它只会进行初始化.
state = new int [8];这里的状态在构造函数中初始化并导致NullPointerException.

解:
首先,您需要为每个output_harm初始化一个对象(如果您需要初始化整个数组)

output_harm[][] outputs =  new output_harm[7][6];   
    for(int i=0;i<7;i++){
        for(int j=0;j<6;j++){
            outputs[i][j] = new output_harm();
        }
    }

    outputs[0][0].state[0] = 1;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读