SORU
25 Kasım 2009, ÇARŞAMBA


İf && (VE) ve || (VEYA)

Benim sorum çok basit olabilir ama yine de sormak değerlerimiz bence. Aşağıdaki kodu var:

if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){  
    partialHits.get(z).put(z, tmpmap.get(z));  
}

partialHits HashMap. Eğer ilk ifade doğru ise ne olacak? Java hala ikinci ifadeyi kontrol edecek? Gerçek olmak için ilk ifade için çünkü, HashMap, verilen anahtar içermemelidir, eğer ikinci ifade işaretli ise, NullPointerException alacağım.
Basit bir deyişle, Eğer aşağıdaki kodu var

if(a && b)  
if(a || b)

eğer a ikinci durumda ise true Java a ilk durumda false ise b kontrol eder ve?

CEVAP
25 Kasım 2009, ÇARŞAMBA


Değerlendirilecektir. Ve bu çok yararlı olur. Test etmek gerekir gibi, Eğer bir Dize null veya boş ise, yazabilirsiniz:

if (str != null && !str.isEmpty()) {
  doSomethingWith(str.charAt(0));
}

ya da tam tersi

if (str == null || str.isEmpty()) {
  complainAboutUnusableString();
} else {
  doSomethingWith(str.charAt(0));
}

Eğer olsaydık eğer ... 'kısa devre' Java kod yukarıdaki satırlar bir NullPointerExceptions bir sürü almak istiyoruz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • paikimchung

    paikimchung

    12 Mayıs 2006
  • tutvid

    tutvid

    19 AĞUSTOS 2006