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 partialHitsjest 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, bczy aw pierwszym przypadku jest fałszywe, a czy ajest prawdziwe w drugim?