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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • wolfys you tube

    wolfys you t

    22 Kasım 2006