处理NullPointerException没有在ArrayList中找到的记录

时间:2016-03-03 06:44:49

标签: java android

我的class扩展 RecyclerView.Adapter< ...>

@Override
public int getItemCount() {
     return arrayListPacks == null ? 0 : arrayListPacks.size();
     // return 5;
}

要在ArrayList中仅获取 5条记录,我使用过:

return 5;

但是,当没有找到记录时,我得到NullPointer例外。

那么,我该如何处理此异常?

我想显示最多5个记录,如果存在其他处理 NPE

3 个答案:

答案 0 :(得分:1)

尝试做这样的事情

@Override
public int getItemCount() {

     return arrayListPacks == null ? 0 : (arrayListPack.size() > 5? 5: arrayListPacks.size());
}

所以如果列表> 5只返回5,否则,返回大小。

但是对于nullpointerexception,你需要检查logcat,你会发现它发生的地点和原因。检查初始化适配器的位置并给出列表。

答案 1 :(得分:0)

试试这个..:)

@Override
public int getItemCount() {
     return arrayListPacks == null ? Collections.<ClassName> emptyList().size(): arrayListPacks.size();
}

答案 2 :(得分:0)

我同意ManthanB,因为null Arraylist意味着集合名称arrayListPacks指向未分配的位置null。这与指向其中没有任何内容的有效分配位置完全不同。所以使用ArrayList分配arrayListPacks = new ArrayList();现在arrayListPacks将公开添加新元素的方法