Java должна оценивать ваши утверждения слева направо. Он использует механизм, известный как оценка короткого замыкания , чтобы предотвратить тестирование второго, третьего и n-го условий, если первое неверно.
Итак, если ваше выражение myContainer != null && myContainer.Contains(myObject)
и myContainer
равно нулю, второе условие myContainer.Contains(myObject)
не будет оцениваться.
Редактировать: Как уже упоминалось, Java, в частности, имеет операторы как короткого, так и не короткого замыкания для логических условий. Использование &&
вызовет оценку короткого замыкания, а &
- нет.