如果设置了四个变量中的一个以上,我想显示错误... 在 Java 中..这就是我想出的..
if( (isAset() && isBset()) || (isBset() && isCset()) || (isCset() && isDset()) || (isDset() && isAset()) )
attri.greedySelectionException(..);
我想看看是否有更好的方法......?
最佳答案
如何使用计数器然后将其与 1 进行比较?
有点像...
int i = 0;
if (isAset()) i++;
if (isBset()) i++;
if (isCset()) i++;
if (isDset()) i++;
if (i > 1)
...
或者,如果您正在检查某个对象的属性,您可以使用一些反射来遍历相关属性,而不是每个属性都有一个 if 语句。
编辑:查看下面 Marius Žilėnas 的可变参数静态方法以获得一些更简洁的代码,即使用(将老式的 for 更改为 for-each 和三元表达式的 if):
static int trueCount(boolean... booleans) {
int sum = 0;
for (boolean b : booleans) {
if (b) {
sum++;
}
}
return sum;
}
而不是几个 if 语句。
关于java - if条件检查在JAVA中的任何一点是否只有一个变量是四个变量的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193128/