Tôi có đoạn mã sau:
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){
partialHits.get(z).put(z, tmpmap.get(z));
}
nơi partialHits
là một HashMap.
Điều gì sẽ xảy ra nếu tuyên bố đầu tiên là đúng? Java vẫn sẽ kiểm tra câu lệnh thứ hai chứ? Bởi vì để câu lệnh đầu tiên là đúng, HashMap không được chứa khóa đã cho, vì vậy nếu câu lệnh thứ hai được chọn, tôi sẽ nhận được NullPointerException
.
Vì vậy, nói một cách đơn giản, nếu chúng ta có đoạn mã sau
if(a && b)
if(a || b)
Java sẽ kiểm tra b
nếu a
sai trong trường hợp đầu tiên và nếu a
đúng trong trường hợp thứ hai?