int[] a = new int[10];
for (int i = 0; i < 10; i++) {
a[i] = randomFill();//randomFill is a method that generates random numbers
}
int[] b = new int[a.length];
for (int j = 0; j < a.length; j++) {
b[j] = a[j]
}
int[] c = new int[a.length];
for(int k = 0; k < a.length; k++) {
c[k] = a[k]
}
sind beide Array b und Array c die tiefe Kopie von Array a? Ich muss Array A ändern, aber seine ursprünglichen Werte beibehalten, damit ich es für später verwenden kann, und der Hinweis, den ich erhielt, war, tiefe Kopie zu verwenden. Ich kann nicht sagen, ob mein Code als tiefe Kopie betrachtet wird ...wäre dies ein Beispiel für eine tiefe Kopie?
Das ist eine flache Kopie, aber da Sie mit Primitiven und nicht mit Objekten arbeiten, ist eine flache Kopie alles was Sie brauchen (es gibt keinen wirklichen Unterschied). –
Ja, wenn es kompiliert würde, wären sowohl b als auch c tiefe Kopien von a. Fügen Sie ein paar Semikolons hinzu, um es kompilieren zu lassen. –
@RudyVelthuis 'b = c = a;' –