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

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • theKGB65

    theKGB65

    24 Aralık 2007
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009