Mam następujący kod:
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){
partialHits.get(z).put(z, tmpmap.get(z));
}
gdzie partialHits
jest HashMap.
Co się stanie, jeśli pierwsze stwierdzenie jest prawdziwe? Czy Java nadal sprawdzi drugą instrukcję? Ponieważ aby pierwsza instrukcja była prawdziwa, HashMap nie powinien zawierać podanego klucza, więc jeśli druga instrukcja jest zaznaczona, otrzymam NullPointerException
.
Więc w prostych słowach, jeśli mamy następujący kod
if(a && b)
if(a || b)
czy Java sprawdzi, b
czy a
w pierwszym przypadku jest fałszywe, a czy a
jest prawdziwe w drugim?