找不到空指针异常的来源

时间:2012-06-20 00:53:35

标签: java nullpointerexception

如何避免NullPointerExceptions?我已尝试使用try-catch块,但这不起作用。

我的程序应该从Google日历中获取数据。我得到了很多元素,但这里只是一个元素......

for (Iterator<?> i = eventsToday.iterator(); i.hasNext();) {
    Component component = (Component) i.next();
    String Attachement=null;
    if(component.getProperty(Property.ATTACH).toString().trim()!=null){
        Attachement=component.getProperty(Property.ATTACH).toString();
    }
}

有人可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:7)

测试component.getProperty() == null空指针异常是否是由于在空对象上调用toString()引起的。以下示例将起作用。 (将Object o替换为getProperty()

返回的实际类型
String Attachment;
Object o = component.getProperty(Property.ATTACH);
if(o != null) {
   Attachment = component.getProperty(Property.ATTACH).toString();
}

答案 1 :(得分:0)

可能是问题

component.getProperty(Property.ATTACH)

返回null

只需添加一些检查

的代码
if (component.getProperty(Property.ATTACH)) {
    Attachement = component.getProperty(Property.ATTACH).toString();
}

您可能希望缓存component.getProperty(Property.ATTACH)