我试图从任何数组中获取一个字符串(封装在一个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