SORU
11 ŞUBAT 2013, PAZARTESİ


Nasıl bir sınıf içinde özel bir alan değişikliği engellerim?

Bu Dersim var düşünün:

public class Test
{
  private String[] arr = new String[]{"1","2"};    

  public String[] getArr() 
  {
    return arr;
  }
}

Şimdi, yukarıdaki sınıfı kullanan başka bir Dersim var:

Test test = new Test();
test.getArr()[0] ="some value!"; //!!!

Yani sorun bu: dışarıdan bir sınıfın özel bir alan ulaştım! Bunu nasıl önleyebilirim? Yani nasıl bu dizi değişmez yapabilir miyim? Bu her alıcı yöntemi ile özel alan erişim geliştirebilirsin anlamına mı geliyor? (Guava gibi herhangi bir kütüphane istemiyorum. Ben sadece bunu) doğru şekilde bilmeniz gerekir.

CEVAP
11 ŞUBAT 2013, PAZARTESİ


Bir dönüş gerekirkopyaladizinizi.

public String[] getArr() {
  return arr == null ? null : Arrays.copyOf(arr, arr.length);
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011