What can go wrong if you replace && with & in the following code

Java’ da  ‘&&’ işlemi mantıksal ‘and’ operator işlemi iken ‘&’ işlemi bit tabanlı ‘and’ operator işlemidir. Yani ‘&&’ bunu yazarsanız verilen iki seçeneğe bakıp ona göre işlemi nasıl devam ettireceğini bulur ama ‘&’ böyle bir işlem verildiğinde verilen değerlerin bit karşılıklarını alıp ‘and’ işlemine tabi tutup sonucu öyle hesaplar. Yani aslında matematiksel olarak bir ‘and’ işlemini ‘&’ operatörü ile yapmış oluruz. Aşağıdaki verilen örnekteki ‘&&’ operatorünü ‘&’ değiştirdiğimiz takdirde bit tabanlı bir ‘and’ işlemi yapılamayacağından null pointer exception verecektir:

String a=null; 
if (a!=null && a.length()>10) {
.
.
.
}
Erman Ağ Geliştirici on 9 Ağustos 2017 yazdı
Yorum Ekle
  • 0 Yanıt(lar)
  • Yanıtınız

    Cevabınızı göndererek Gizlilik Politikası ve Hizmet Şartlarını kabul ediyorsunuz.