Я знаю, что Java имеет умную/ленивую оценку в этом случае:
public boolean isTrue() {
boolean a = false;
boolean b = true;
return b || (a && b); // (a && b) is not evaluated since b is true
}
Но как насчет:
public boolean isTrue() {
boolean a = isATrue();
boolean b = isBTrue();
return b || a;
}
Вызывается isATrue()
, даже если isBTrue()
возвращает true?