我試圖從任何數組中獲取一個字符串(封裝在一個Vector中)時,我總是收到一個NullPointerException異常。我似乎無法阻止發生錯誤。這應該是簡單的事情,但是我認爲我一直在看它太久,我可以確定使用另一組眼睛。這裏是我的代碼:關於java數組的幫助nullpointerexception
Vector<Event> details = vector.get(i).getEvent();
for (int x = 0; x < details.size(); x++) {
Event eDetails = details.get(x);
person = eDetails.getEventPerson();
place = eDetails.getEventPlace()[0];
time = eDetails.getEventTime()[0];
}
所以,當我試圖讓在位置爲0的項目在數組中(當x爲0)是從eDetails.getEventTime返回,則拋出NullPointerException。
現在,當x爲0時,我碰巧知道getEventTime()數組的位置0處的數組元素是一個空字符串,但它不是空值。當x是1或2等,我可以檢索時間就好了。
的問題是,我仍然會收到NullPointerException異常,當我嘗試做這樣的事情如下:
**System.out.println(eDetails.getEventTime.length);**
or
String result;
**if(eDetails.getEventTime[0] == null){**
result = "";
} else {
result = eDetails.getEventTime[0];
}
任何想法?
謝謝!
我假設你的意思是`getEventTime()[0]`在你的第二塊代碼中?另外,你並沒有真正展示如何填充你的對象。 – Jeremy 2010-11-22 19:20:15
@Jeremy由於`getEventTime [0]`不會編譯(方法不是數組),所以它應該是`getEventTime()[0]`。 – extraneon 2010-11-22 19:42:19