JAVA从方法返回意外的布尔结果

时间:2015-10-09 05:43:27

标签: java

为什么以下方法始终为以下值返回 false 。 我和某些事情混淆了吗?

public boolean isTwoWay(Detail detail) {
    return (detail.isExchange && detail.isTwoWay && !detail.isIVR);
}

哪些数据包含以下

detail.isExchange =  true;
detail.isTwoWay = true;
detail.isIVR = false;

但它返回 false 而不是 true

2 个答案:

答案 0 :(得分:1)

该方法返回false的唯一方法是,如果您的某个假设是错误的:

detail.isExchange =  true;
detail.isTwoWat = true;
detail.isIVR = false;

请放心,这种疏忽一直发生在程序员身上,包括我们中最好的人。

在断点处设置错误而不是预期的真值,并验证您的假设。

答案 1 :(得分:0)

我已经尝试过,并且它的打印始终是真的。

boolean isExchange =  true;
boolean isTwoWay = true;
boolean isIVR = false;

System.out.println(isExchange && isTwoWay && !isIVR);