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

  • boburnham

    boburnham

    11 Temmuz 2006
  • tychoadragmire

    tychoadragmi

    20 Mart 2006
  • videoisunrelated

    videoisunrel

    5 Mart 2009