Мой вопрос может быть очень простым, но все же я думаю, что стоит спросить. У меня есть следующий код:
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. Что произойдет, если первое утверждение верно? Будет ли Java проверять второй оператор? Поскольку для того, чтобы первый оператор был истинным, HashMap не должен содержать данный ключ, поэтому, если второй оператор проверен, я получу NullPointerException
.
Итак, простыми словами, если у нас есть следующий код
if(a && b)
if(a || b)
будет проверять Java b
, если a
является ложным в первом случае, и если a
истинно во втором случае?