如何解决解除引用空指针?

时间:2016-01-04 04:58:55

标签: java sdk null warnings xml-deserialization

byte bytes [] = Base64.getDecoder().decode(element.getElementsByTagName("Bytes").item(0).getTextContent());
Importer imp = null;
fmd = imp.ImportFmd(bytes, Fmd.Format.ANSI_378_2004, Fmd.Format.ANSI_378_2004);

我正在警告取消引用空指针,如何在ImportFmd方法中解决此警告? 我正在使用数字角色sdk。

2 个答案:

答案 0 :(得分:1)

您需要Importer类的实例来调用ImportFmd方法。

一些谷歌搜索结果显示你可以通过这种方式获得Importer个实例:

UareUGlobal.GetImporter()

所以你的代码变成了:

byte bytes [] = Base64.getDecoder().decode(element.getElementsByTagName("Bytes").item(0).getTextContent());
Importer imp = UareUGlobal.GetImporter();
fmd = imp.ImportFmd(bytes, Fmd.Format.ANSI_378_2004, Fmd.Format.ANSI_378_2004);

答案 1 :(得分:1)

首先访问变量时imp为空:在第二行,为其指定null,在第三行,调用方法ImportFmd

您需要查看Importer的文档,了解如何正确设置它。它可以像

一样简单
Importer imp = new Importer();
但是OTOH,它可能需要更多的工作来设置它。这里重要的是你必须为imp变量分配一个有效值,否则当你首先访问它时它是null,这将导致NullPointerException