2012-02-12 5 views
1

У меня есть три класса. 1.Class: `Добавление объекта в список объектов (ArrayList)!

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");

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

Спасибо!

+0

Какова полная трассировка стека «NullPointerException»? – Jeffrey

ответ

0

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

1

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

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

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

+0

Thx это было ... !! – JavaNullPointer

2

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

У вас есть конструктор no-args для Handler, который не создает список.

Изменить это:

public Handler() { 
    dates = new ArrayList<Handler_date>(); 
} 
+0

спасибо! Это было очевидно! – JavaNullPointer

Смежные вопросы