当我尝试将Item添加到数组时,为什么我的代码得到“ java.lang.NullPointerException”?

时间:2019-12-05 22:07:38

标签: java arrays class object instance

当我在空数组或全数组上使用addItem方法时,它会给我NullPoiterException。 该错误是否是equals方法? 如果数组中包含一些项目,并且方法添加了新项目,则该方法很好用,但是当该数组为满或为空时,将返回空指针异常。

public class GroceryList {

   private int count;
   private Item[] list;
   public static final int MAX = 30;

   public GroceryList(){

      list = new Item[MAX];
      count = 0;
   }

   public GroceryList(Item[] source){

      list = new Item[MAX];
      count = 0;
      source = new Item[list.length];

      for(int pos = 0; pos < source.length; pos++ ) {
         source[pos] = list[pos]; 

         if (!(source[pos].equals(null)))
         {
            count++;
         }
      }


   }

   public int getCount(){

      return count;
   }

   public void addItem(Item m) {

      m = new Item("piyoz", 12);

      if(count < MAX)
      {       
         for(int i = 0;i < list.length; i++)
         {

            if (list[i].equals(null))
            {
               list[i] = m;
               count++ ;
            }
         }
      }
      else
      {

      }

   }


}

0 个答案:

没有答案