如何解决取消引用空指针?

how to solve dereferencing null pointer?

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。

您需要 Importer class 的实例来调用 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);

当您第一次访问变量 imp 时,它为 null:在第二行中,您将 null 分配给它,在第三行中,您在其上调用方法 ImportFmd

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

一样简单
Importer imp = new Importer();

但是 OTOH,它可能需要更多的工作来设置它。这里重要的是你必须给 imp 变量赋一个有效值,否则当你第一次访问它时它是空的,这将导致 NullPointerException.