Digamos que tengo esto:¿Cómo trata Java con múltiples condiciones dentro de una única declaración IF
if(bool1 && bool2 && bool3) {
...
}
ahora. ¿Es Java lo suficientemente inteligente como para omitir la comprobación de bool2 y bool2 si bool1 se evaluó como falso? ¿Java incluso los revisa de izquierda a derecha? Pregunto esto porque estaba "clasificando" las condiciones dentro de mi if por el tiempo que lleva hacerlo (empezando por las más baratas de la izquierda). Ahora no estoy seguro si esto me da algún beneficio de rendimiento porque no sé cómo maneja Java esto.
Dado que intenta mejorar el rendimiento con estos cambios, ¿ha intentado medir el rendimiento antes y después de cambiar las condiciones? Por un lado, eso debería indicar si la lógica está en efecto en cortocircuito, como se explica a continuación, y, por otro, le dirá si la magnitud de estos cambios es significativa en la imagen más grande. – Douglas