繁体   English   中英

为什么非空列表会引发空指针异常?

[英]Why does a non-empty List throw a Null Pointer Exception?

我有一个列表数组“细节”。

List<HistoryDetails> details

其中HistoryDe​​tails是包含字符串的对象。

当我检查尺寸时,会给我一个正值。

details.size()

但是,当我尝试访问元素时,它将引发空指针异常。

details.get(0).getFirstElement();


Attempt to invoke virtual method 'java.lang.String com.HistoryDetails.getFirstElement()' on a null object reference

我正在检查尺寸的下一行调用元素。 因此,不应重置任何内容。 有什么事吗

它看起来像details是一个List ,但的第一个元素List为空。 也就是说,它看起来像details.get(0) == null

具有许多项目的列表details可以使第一个项目为空对象。 使用该项目之前,请检查null。

if(details.get(0)!=null){
details.get(0).getFirstElement();
}

因为它包含null。

Log.d("TEST", details.get(0)); //should return null

这将避免空指针异常:

if (!details.isEmpty()) {
    details.get(0).getFirstElement();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM