复制ArrayList的不同方法

时间:2013-08-15 16:51:41

标签: java

假设a类型为ArrayList<T>,这三者之间是否存在差异? (除了编译器抱怨#3中未经检查的操作这一事实。)

1

ArrayList<T> a1 = new ArrayList<T> (a);

2

ArrayList<T> a2 = new ArrayList<T> ();
a2.addAll (a);

3

ArrayList<T> a3 = (ArrayList<T>) (a.clone());

1 个答案:

答案 0 :(得分:1)

克隆创建一个新实例,保存相同的元素。 Clone适用于Collections。所以最好不要使用它们。

ArrayList<T> a1 = new ArrayList<T> (a);

是浅色副本,速度相对较快。

Thread可能会帮助您进一步