Добавить объект в список массивов. Получить ошибку при попытке добавить объект в ArrayList - PullRequest
2 голосов
/ 15 апреля 2011

Может кто-нибудь ответить, почему проблема с моим списком массивов.У меня есть классы: List, People и Main (чтобы запустить все).

В List Я создаю новый ArrayList для хранения объектов типа People.

В Main я создаю новый объект List, затем создаю новый объект People, а затем вызываю из объекта List add метод, и в этот момент я получаю исключение nullPointerException.

public class Main {
    public static void main(String[] args) {

        List l = new List();       // making new List object 
        People p = new People();   // making new People object

        l.addPeople(p);           // calling from List object "addPeople" method and
    }            

                 // parsing People object "p"
 }




import java.util.ArrayList;

public class List {

        public List(){           //constructor
    }

        ArrayList<People>list;      // new ArrayList to hold objects of type "People"

    public void addPeople(People people){   
        list.add(people);               // I get error here
    }
} 

public class People {

    public People(){         // constructor
    }
}

Ответы [ 4 ]

6 голосов
/ 15 апреля 2011

В конструкторе:

list = new ArrayList<People>();
2 голосов
/ 15 апреля 2011

Я не уверен, что это уместно, но это плохая идея назвать ваш класс "List", так как это скроет интерфейс List.

2 голосов
/ 15 апреля 2011

Вы не создавали экземпляр списка в любое время. В вашем конструкторе сделайте это:

   public List(){           //constructor
          list = new ArrayList<People>();
   }
1 голос
/ 15 апреля 2011

Вам необходимо поместить экземпляр ArrayList в ваше поле list.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...