4

a假设有 type ,这三者之间有什么区别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());
4

1 回答 1

1

克隆会创建一个新实例,其中包含相同的元素。克隆适用于集合。所以最好不要使用它们。

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

是浅拷贝,速度相对较快。

主题可以进一步帮助您

于 2013-08-15T16:57:33.157 回答