SORU
1 Temmuz 2009, ÇARŞAMBA


Java parametreleri başvuruyla geçebilir miyim?

Anlambilim C#'ler . benzer isterim ^strong>refanahtar kelime.

CEVAP
1 Temmuz 2009, ÇARŞAMBA


Java çünkü kafa karıştırıcıher şeyin değeri tarafından geçirilir. Ancak bir parametre içinreferans türü(ilkel türde bir parametre gibi)başvuru kendisinideğer, dolayısıyla geçirilirgörünürreferans olarak geçmek (ve daha sık olduğunu iddia ediyor). Bu aşağıdaki gösterdiği gibi, değil:

Object o = "Hello";
mutate(o)
System.out.println(o);

private void mutate(Object o) { o = "Goodbye"; } //NOT THE SAME o!

Baskı Hello konsola. Yukarıdaki kod istiyorsan seçenekleri yazdırmak için Goodbyeaçık bir başvuru kullanınaşağıdaki gibi

AtomicReference<Object> ref = new AtomicReference<Object>("Hello");
mutate(ref);
System.out.println(ref.get()); //Goodbye!

private void mutate(AtomicReference<Object> ref) { ref.set("Goodbye"); }

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • Videojug

    Videojug

    25 EKİM 2006