Добавление объекта в список объектов (ArrayList)! - PullRequest
1 голос
/ 13 февраля 2012

у меня есть три класса.1.Class: `

public class Handler {

private String name;
private String short_name;
private int semester; 
private int modul_number; 

private String prof; 
private int credits; 
private double note; 
private ArrayList<Handler_date> dates;



public Handler() {

}

public Handler(String _name, String _short_name, int _semester, int _modul_number,
         String _prof, int _credits, double _mark) {
    this.modul_number=_modul_number;
    this.name = _name;
    this.short_name = _short_name;
    this.semester = _semester;
    this.prof = _prof;
    this.credits = _credits;
    this.note= _mark;
    dates = new ArrayList<Handler_date>();

}

public void add_date(String _room, int _time, 
        String _day) {
    Handler_date temp = new Handler_date(_room, _time, 
            _day);
    dates.add(temp);
}`

и 2.class (Elementclass):

`public class Handler_date {

private String room; 
private int time; 
private String day; 

public Handler_date() {
}

public Handler_date(String _room, int _time, 
        String _day) {
    this.room = _room;
    this.time = _time;
    this.day = _day;
}

}

Я хочу добавить модуль, но я получаюNullPointerException для dates.add(temp);

я вызываю метод с templist.search_modul_number(modulnumber).add_date("room", 1, "monday");

Мои объекты-обработчики сохраняются в дополнительном списке объектов / классе в arrayList ... private ArrayList<Handler> handlerlist; Кто-нибудь знает, чтоЯ делаю не так?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 13 февраля 2012

Скорее всего, вы не инициализируете private ArrayList<Handler_date> dates;.

У вас есть конструктор без аргументов для Handler, который не создает список.

Измените его на:

public Handler() {
    dates = new ArrayList<Handler_date>();
}
1 голос
/ 13 февраля 2012

Ваш архив даты не инициализирован. Это ноль, поэтому вы получите это исключение.

Вы вызываете новый обработчик (); - в этом конструкторе вы не инициализируете даты.

И в будущем, пожалуйста, приложите полную трассировку стека, чтобы получить помощь.

0 голосов
/ 13 февраля 2012

Ваше поле dates не инициализировано.Возможно, потому что вы создали Handler экземпляр, используя конструктор без аргументов.

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