SORU
15 Mayıs 2009, Cuma


Nasıl Java bir nesne kopyalayabilirim?

Aşağıdaki kodu göz önünde bulundurun:

DummyBean dum = new DummyBean();
dum.setDummy("foo");
System.out.println(dum.getDummy()); // prints 'foo'

DummyBean dumtwo = dum;
System.out.println(dumtwo.getDummy()); // prints 'foo'

dum.setDummy("bar");
System.out.println(dumtwo.getDummy()); // prints 'bar' but it should print 'foo'

Yani kopyalamak istiyorum '' dumtwo' ve değiştirmek istiyorum '' etkilemeden ''. dumtwo dum dum Ama yukarıdaki kod bunu yapıyor. Ben'', 'dumtwo' de. " oluyor aynı değişikliği dum bir şey değiştiğinde

= Dum dumtwo dediğimde, Java kopya referansı sadece sanırım. , Yeni bir kopyasını oluşturmak için herhangi bir yolu var '' ve 'ata' ? dumtwo dum yani

CEVAP
15 Mayıs 2009, Cuma


Kopya yapıcı oluşturun:

class DummyBean {
  private String dummy;

  public DummyBean(DummyBean another) {
    this.dummy = another.dummy; // you can access  
  }
}

Her nesne, nesneyi kopyalamak için kullanılan klonlama yöntemi vardır, ama sakın kullanma. Bir sınıf oluşturun ve uygunsuz klon yöntemi yapmak için çok kolay bir yol. Eğer bunu yapacaksanız, Joshua Bloch bu konuda söyleyecek ne en azından okuyunEffective Java.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • picster

    picster

    20 NİSAN 2006
  • Video-Tutorials.Net

    Video-Tutori

    15 Mart 2011