将对象列表中的双列表对象转换为字符串

时间:2014-02-06 09:37:39

标签: java algorithm list

我有一个数据对象列表。每个数据对象都有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

的任何建议

感谢您的回答!

2 个答案:

答案 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++)

如果下一行为空,则跳过下一行。但更好的方法是清理清单。