&& (AND) y || (O) en las declaraciones IF
Tengo el siguiente código:
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){
partialHits.get(z).put(z, tmpmap.get(z));
}
dóndepartialHits
es un HashMap.
¿Qué pasará si la primera afirmación es cierta? ¿Seguirá Java verificando la segunda declaración? Porque para que la primera declaración sea verdadera, el HashMap no debe contener la clave dada, por lo que si se marca la segunda declaración, obtendréNullPointerException
.
Así que en palabras simples, si tenemos el siguiente código
if(a && b)
if(a || b)
lo vería Javab
Sia
es falso en el primer caso y sia
¿Es cierto en el segundo caso?