java Arraylist 能赋值给另一个 ArrayList么

如何将一个ArrayList赋值给另一个ArrayList.
ArrayList a = new ArrayList();
ArrayList b = new ArrayList();
b= a; // 可以成功么?

不行,这样只是复制一个pointer。

b=a是将b的地址值指向a,而b原先的对象会被垃圾回收。但是在这里我想告诉你的是集合之间的复制方法:
方法一:ArrayList<Integer> b= new ArrayList<Integer>(a);//利用集合自带的构造方法
方法二:ArrayList<Integer> b =(ArrayList<Integer>) a.clone();//利用克隆的方法进行赋值。
这些方法都是项目中常用而且重要的技术,希望对你有帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-04
当然可以,编译运行都没问题,
上面代码的意思相当于
ArrayList a = new ArrayList();
ArrayList b = a;
也就是说b 指向了a的地址, a,b本质上没有了区别
第2个回答  2013-02-04
这样是不可以的, 你可以用 b.addAll( a )

或 Collections.copy( b, a );
第3个回答  2013-02-04
可以赋值成功。
第4个回答  2013-02-04
可以用 addAll() 方法 把一个list完全添加到另外一个list里
相似回答