我到处都在寻找如何隔离null问题的示例。
正在向我发送Json字符串,并且正在检查某些值,但有时Json字符串中不存在对象(colUniqueID)。
{
"mitigant": {
"productUnid": "123456789123456789",
"createdDate": "",
"basketNumber": "bb012456",
"shareIndicator": "",
"assetDetails": [
{
"alias": {
"createdDate": {"value": ""},
"assetID": {"value": "1111"},
"assetNumber": {"value": "aaa123456"},
"colUniqueID": {"value": ""}
}
}
]
}
}
String assetNum = collateral.getMitigant().getAssetDetails().get(i).getAlias().getColUniqueID().getValue();
if (assetNum != null) {
//Do something
}
但是,当我声明assetNum变量时,出现“ HTTP JVM:java.lang.NullPointerException”错误。因此,它甚至都不涉及“ if”语句
任何想法?
请帮助。
答案 0 :(得分:1)
在例外发生之前稍作休息:
ColUniquueID id = collateral.getMitigant().getAssetDetails().get(i).getAlias().getColUniqueID();
if (id == null) {
// manage the case
} else {
String assetNum = id.getValue()
}
添加:
当您尝试访问colUniqueID对象的值为null时,会发生NullPointerException。
如果调用空对象的任何方法,您将拥有一个NPE,因此在对可能为空的对象调用getValue()
之前,必须检查它是否为空。