问题很简单。是否有任何简单快捷的方法可以创建新(新引用)数组,还是必须手动完成?
示例:
Collection<A> c = new ArrayList<A>();
c.add(new A());
c.add(new A());
c.add(new A());
A[] a1 = c.toArray(new A[0]);
System.out.println("a1: " + Arrays.toString(a1));
System.out.println("c: " + c);
A[] a2 = Arrays.copyOf(a1, a1.length);
System.out.println("a2: " + Arrays.toString(a2));
所有创建的数组都具有相同的引用。我希望数组中包含与旧元素具有相同内容的新元素。旧元素的副本。
答案是:How do you make a deep copy of an object in Java?。现在我看到这个问题是重复的。