Does Java have lazy evaluation?

后端 未结 9 1586
面向向阳花
面向向阳花 2020-12-03 16:44

I know that Java has smart/lazy evaluation in this case:

public boolean isTrue() {
    boolean a = false;
    boolean b = true;
    return b || (a &&         


        
9条回答
  •  一向
    一向 (楼主)
    2020-12-03 17:15

    Yes isATrue() will be called because you are calling it explicitly in line boolean a = isATrue();

    But it won't be called in following case if isBTrue() returns true:

    public boolean isTrue() {
        return isBTrue() || isATrue();
    }
    

提交回复
热议问题