为什么非空List会抛出空指针异常?

时间:2015-07-01 20:47:07

标签: java android list listview arraylist

我有一个List数组'详细信息'。

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

我在下一行调用元素来检查大小。因此,什么都不应该重置。可能有什么不对?

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

因为它包含null。

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

答案 3 :(得分:0)

这将避免空指针异常:

cell.imageView?.clipsToBounds = true