SORU
28 NİSAN 2011, PERŞEMBE


Klon arama yapar() bir dizi de içeriğini klon?

Ben Bir tür Nesnelerin dizi clone() yöntem çağırmak, ne kadar unsurları klon olacak? Kopya aynı nesneler için referans olacak? Yoksa her biri için (element of type A).clone() arayacak?

CEVAP
28 NİSAN 2011, PERŞEMBE


clone() yüzeysel bir kopyasını oluşturur. Öğeleri klonlanmış olmayacak anlamına gelir. (Cloneable? uygulamak etmediler eğer mi ne)

clone() klonlama diziler için iyi, başka hiçbir şeye benzemeyen için de) yerine kopyalama diziler için Arrays.copyOf(..) kullanmak isteyebilirsiniz

Derin klonlama, check this answer isterseniz


Küçük bir örnek, eğer elemanlar Cloneable bile clone() sığlığı göstermek için:

ArrayList[] array = new ArrayList[] {new ArrayList(), new ArrayList()};
ArrayList[] clone = array.clone();
for (int i = 0; i < clone.length; i   ) {
    System.out.println(System.identityHashCode(array[i]));
    System.out.println(System.identityHashCode(clone[i]));
    System.out.println(System.identityHashCode(array[i].clone()));
    System.out.println("-----");
}

Baskı:

4384790  
4384790
9634993  
-----  
1641745  
1641745  
11077203  
-----  

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BradleyWuzHere

    BradleyWuzHe

    25 NİSAN 2011
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • UsherVEVO

    UsherVEVO

    15 EKİM 2009