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

  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006