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

  • MrSuicideSheep

    MrSuicideShe

    9 NİSAN 2010
  • Semantic Mastery

    Semantic Mas

    30 EKİM 2013
  • Shon Gonzales

    Shon Gonzale

    5 EKİM 2014