作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在一个程序中,我试图检查两个 boolean 值(从函数返回);需要检查的条件是:
- 只有当返回值中的任何一个为真而另一个为假时,我才有问题;
- 否则,如果两者都是真或假,我很高兴进入下一步。
以下两个示例中哪个是检查条件的有效方法,或者是否有更好的解决方案?
a 和 b 是整数值,我正在检查 isCorrect
函数中的正确性条件,它返回 true 或 false。
1.
// checking for the correctness of both a and b
if ((isCorrect(a) && !isCorrect(b)) ||
(!isCorrect(a) && isCorrect(b)))
{
// a OR b is incorrect
}
else
{
// a AND b are both correct or incorrect
}
2.
// checking for the correctness of both a and b
if (! (isCorrect(a) ^ isCorrect(b)))
{
// a OR b is incorrect
}
else
{
// a AND b are correct or incorrect
}
谢谢,
伊瓦尔
P.S:代码可读性不是问题。编辑:我的意思是在第二个选项中有一个异或。另外,我同意 == 和 != 选项,但如果我必须使用 boolean 运算符怎么办?
最佳答案
if (isCorrect(a) != isCorrect(b)) {
// a OR b is incorrect
} else {
// a AND b are correct or incorrect
}
关于java - 使用 Java 运算符(XOR 和 AND/OR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4728159/
我是一名优秀的程序员,十分优秀!