2012-02-12 36 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; 
} 

}

我想添加一個模件,但我得到了dates.add(temp);

一個NullPointerException

我打電話給方法templist.search_modul_number(modulnumber).add_date("room", 1, "monday");

我的處理程序對象被保存在一個額外的ObjectList /類到一個arrayList ... private ArrayList<Handler> handlerlist; 任何一個想法我做錯了什麼?

謝謝!

+0

什麼是NullPointerException的完整堆棧跟蹤? – Jeffrey 2012-02-12 21:10:41

回答

0

dates場未初始化。可能是因爲你使用no-arg構造函數創建了Handler實例。

1

您的日期arraylist未初始化。它是空的,所以你得到這個異常。

你在調用new Handler(); - 在構造函數中,你不會初始化日期。

未來,請附上完整的stacktrace以獲得幫助。

+0

Thx就是這樣...... !! – JavaNullPointer 2012-02-12 21:16:38

2

很有可能你沒有初始化private ArrayList<Handler_date> dates;

對於Handler,您沒有建立列表的無參數構造函數。

將其更改爲:

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

謝謝!這是顯而易見的! – JavaNullPointer 2012-02-12 21:20:58