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

  • BachelorsPadTv

    BachelorsPad

    17 Ocak 2012
  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • graham025

    graham025

    25 NİSAN 2006