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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • Stevie

    Stevie

    2 Mayıs 2010
  • TROPFEST

    TROPFEST

    27 Mart 2007