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

  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011
  • Ludique

    Ludique

    21 NİSAN 2009
  • ThePhestor

    ThePhestor

    22 Mart 2011