У меня есть этот бит кода, где я делаю копию массива. с использованием System.arraycopy
выглядит более подробным, чем clone()
. но оба дают одинаковые результаты. есть ли преимущества одного над другим? вот код:клон против копирования Array в Java?
import java.util.*;
public class CopyArrayandArrayList {
public static void main(String[] args){
//Array copying
char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e'};
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 0, copyTo, 0, 7);
char[] copyThree = new char[7];
copyThree=copyFrom.clone();
}
}
эта статья связана, но не объясняет, если System.arraycopy глубокое клонирование. Он упоминает, что клон создает мелкую копию, и примеры там иллюстрируют это. но знать, является ли system.arraycopy глубоким клонированием с иллюстрацией, было бы полезно для новичков в Java. – eagertoLearn
System.arraycopy() делает то, что он говорит в Javadoc, не более, без глубокой копии. – EJP