我有一个数据对象列表。每个数据对象都有resultList
个double元素,也可以为null。
我想拉出数据对象的resultList
并将它们分别存储在字符串列表中:
List<List<String>> ar_List = new ArrayList<List<String>>();
for (int i = 0; i < dataList.size(); i++) {
for (int j = 0; j < dataList.get(i).getResultList().size(); j++) {
ar_List.add(dataList.get(i).getResultList().get(j).toString());
}
}
但我仍然在ar_List.add(dataList.get(i).getResultList().get(j).toString());
如何将列表对象写入ar_List
?
感谢您的回答!
答案 0 :(得分:1)
替换
ar_List.add(dataList.get(i).getResultList().get(j).toString());
与
ar_List.get(i).add(dataList.get(i).getResultList().get(j).toString());
答案 1 :(得分:1)
检查数据是否为空,因为在空对象上调用toString()
会导致NPE。您需要获取List<String>
而不是List<List<String>>
if(dataList.get(i).getResultList().get(j) != null) {
ar_List.get(i).add(dataList.get(i).getResultList().get(j).toString());
}
为了检查空列表,请过滤空列表的父列表或更改for条件。
for(in j = 0; j < dataList.get(i).getResultList().size(); dataList.get(i).getResultList().get(j)==null?j+=2:j++)
如果下一行为空,则跳过下一行。但更好的方法是清理清单。