public static void printList(ArrayList<Col> list, String place)
{
ArrayList<Col> list2 = list;
int count=0;
float r,g,b;
while(!list2.isEmpty())
{
r = list2.get(count).getR();
g = list2.get(count).getG();
b = list2.get(count).getB();
list2.remove(0);
Log.i(place+": "+count + "", "R: "+r+" G: "+g+" B: "+b);
}
}
这种方法是出于某种原因从原始列表中删除所有项目。 我想也许我复制列表的方式是错误的,但我找不到正确的方法。
答案 0 :(得分:0)
在分配值之前使用以下代码:
ArrayList<Col> list2 = new ArrayList<Col> ();
答案 1 :(得分:0)
使用
ArrayList list2 = new ArrayList(list);
INSTEAD OF
ArrayList list2 = list;
答案 2 :(得分:0)
由于ArrayList是一个对象:
ArrayList<Col> list2 = list;
是一份软拷贝。它只复制对同一ArrayList对象的引用。
在Java中,你可以像这样克隆一个对象:
ArrayList<Col> list2 = (ArrayList<Col>)list.clone();