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

  • Android Central

    Android Cent

    13 Kasım 2008
  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012