if(service[i] == null)他却报空指针异常,不知道为什么

解决方案 »

  1.   

    如果我一个check都不选的话,返回的数组是什么啊?
    为什么我
    if(service[i] == null)他却报空指针异常,不知道为什么
      

  2.   

    1个都不选的时候 service = null.所以直接使用service[i]会报错。 if(service !=null){
      if(service[i] == null)...}else //一个都没选。
      

  3.   

    一个都不选,那么service数组就从来没有被赋过值,并且也没有被
    初始化过,所以service本身就是个null,这个时候用service[i]来
    判断,就会被报告空指针错误,因为连外面的盒子都没有,怎么能够
    再去判断这个盒子的第几个格子里面有没有东西。
    而选了一个以上的话,service这个数组就有了东西,不再是null了,
    这个时候用你写的那个判断就不会报空指针错了。