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

  • Android Central

    Android Cent

    13 Kasım 2008
  • Shon Gonzales

    Shon Gonzale

    5 EKİM 2014
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012