将long转换为字符串时遇到错误

时间:2015-05-30 06:48:17

标签: java

我有一个项目,其中有一个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获取此内容。

请告知如何继续,谢谢。

1 个答案:

答案 0 :(得分:4)

你的getter返回Long(一个对象)而不是long(原始)。对象可以是 null ,而(初始化的)原始alwaw必须具有值。 Long.toString()但需要long,这意味着VM需要通过自动在其上插入Long来取消.longValue()。如果对象是 null ,则会得到NullPointerException