У мене є такий код:
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
в другому - істина?