将自定义对象列表转换为ArrayList

时间:2014-10-04 20:56:40

标签: java android

我有一个List weirdList,它包含从类方法返回的List。但是,我希望它被转换为一个ArrayList funkyArrayList,我可以使用它来填充我的ListView。

CrazyObject有methodX.toString,所以我尝试了这个:

weirdList = CrazyObject.findAll(); // returns List<CrazyObject>

for(CrazyObject c : weirdList) {
   funkyArrayList.add(c.methodX.toString);
}

如果weirdList为空,我会自己添加一个字符串:

if(weirdList.isEmpty) {
    funkyArrayList.add("nothing there");
}

然而,应用程序因没有原因而崩溃了。我究竟做错了什么? 我正在使用doInBackground() - 它应该是showstopper。

1 个答案:

答案 0 :(得分:1)

weirdList列为Object

private List<Object> weirdList = ArrayList<Object>();

然后,您可以使用您喜欢的任何对象的数组列表对其进行初始化:

weirdList = new ArrayList<Object>(CrazyObject.findAll()); //CrazyObject.findAll() returns ArrayList<CrazyObject>

以后用于演员:

CrazyObject c = (CrazyObject)weirdList.get(index);

或循环:

for(Object o : weirdList) {
   CrazyObject c = (CrazyObject)o;
   funkyArrayList.add(c.methodX().toString());
}