我有一个 ArrayList
,我想完全复制它。我在可能的情况下使用实用程序类,前提是有人花了一些时间来纠正它。所以很自然地,我最终使用了包含一个 copy 方法的 Collections
类。
假设我有以下内容:
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
List<String> b = new ArrayList<String>(a.size());
Collections.copy(b,a);
这失败了,因为基本上它认为 b
不够大,不能容纳 a
。是的,我知道 b
的尺寸是0,但是它现在应该足够大了,不是吗?如果我必须先填充 b
,那么 Collections.copy()
在我的脑海中就变成了一个完全无用的函数。那么,除了编写一个复制函数(我现在就要这么做)之外,还有什么正确的方法可以做到这一点呢?