在程序运行过程中出现二维数组取值为null的情况
MainActivity.Pieces 正常有值
MainActivity.Pieces[i]  正常有值
MainActivity.Pieces[i][j] 为空令人费解的是,MainActivity.Pieces[i][j]也不是每次都取不到值,调试时,第一次有时可以取到正确的值,但第二次肯定不行i=0,j=0时

解决方案 »

  1.   

    有就是有,没有就是没有。一个数组或者集合有没有值取决于有没有人向里面添加值。没有人添加值,你当然取不出来了,这有什么问题?有空指针异常那是你没做判断的原因,你都不检查数据长度就直接取值,那就有可能抛异常。从数组或者集合取数据前检查长度是java编程的基础操作,望题主养成好的编码习惯
      

  2.   


    有值啊,图片中debug里所有数组的值都能显示出来,[i]取值都正常,但[i][j]取值就为null,调试时还不总是null,但绝大多数时为null
    这个东西用语法解释不清,怀疑是底层代码的问题
    实在找不到办法,只能把代码全都重写一遍了
      

  3.   


    有值啊,图片中debug里所有数组的值都能显示出来,[i]取值都正常,但[i][j]取值就为null,调试时还不总是null,但绝大多数时为null
    这个东西用语法解释不清,怀疑是底层代码的问题
    实在找不到办法,只能把代码全都重写一遍了

    你先别急着怀疑底层代码,要是连这么简单的需求都满足不了,java语言也就没有什么继续存在的必要了。我只能说到这里了,你提供的信息不多,我也不好分析问题你那个二维数组取出null的原因。如果继续分析,你需要描述你要做什么,然后看看你打的日志。底层没有问题
      

  4.   

    Pieces不是你自己创建出来的吗?哪里修改了自己找,i、j是如何遍历的,毛都没说我们会算吗?顺便问你个问题:NullPintException,求大神就我啊,赶紧救我。