我有一个项目,其中有一个setter方法,如下所示:
public Long getvoiceId() {
return voiceId;
}
现在,我使用DOM parser
从对象本身生成xml,但对于这个特定字段,我收到编译错误,如下所示。
它总是给我编译错误,表明方法的返回类型应该改为字符串。
Element voiceId = doc.createElement("voiceId");
InvoiceId.appendChild(doc.createTextNode(Long.toString(irm.getInvoiceId())));
voiceReferenceNotificationMessage.appendChild(voiceId);
正如您在上面所看到的,我使用Long.toString
明确地将其投射,但我仍然为NullPointerException
获取此内容。
请告知如何继续,谢谢。
答案 0 :(得分:4)
你的getter返回Long
(一个对象)而不是long
(原始)。对象可以是 null ,而(初始化的)原始alwaw必须具有值。 Long.toString()
但需要long
,这意味着VM需要通过自动在其上插入Long
来取消.longValue()
。如果对象是 null ,则会得到NullPointerException