这听起来很简单,但我的脑海中一片空白
假设我有这个
bool evaluator
for each form element{
if (element.name = 'fname')
{
perform some op
evaluator = true
}else evaluator false
if (element.name = 'city')
{
perform some op
evaluator true
}else evaluator false
if (element.name='shipcity')
{
perform some op
evaluator true
}else evaluator false
}
return evaluator
where evaluator :
if((t/f) && (t/f) && (t/f))
| | |-----------------evaluation of condition 3
| |-----------evaluation of condition 2
|--------------evaluation of condition 1所以在最后我得到了3个条件的“&&”。或者java有内置的方法可以帮我做到这一点吗?
发布于 2012-01-22 15:56:34
if (cond1 == cond2 && cond2 == cond3)又好又简单
发布于 2012-01-22 15:55:49
要检查多个条件是否全部为假或全部为真,请执行以下操作:
if (cond1 && cond2 && cond3 || !cond1 && !cond2 && !cond3) ...有更简洁的方式来写这篇文章,但我认为上面的方法在表达意图方面更清晰。
发布于 2012-01-22 15:56:31
根据wcdolphin的评论,你可以这样做:
if(condition1 && condition2 && condition3){
// do stuff
}请注意,如果condition1 (或任何其他嵌入式条件)的计算结果为false,则以下所有其他条件都不会被计算。这一点变得非常重要:
if(condition1() && condition2() && condition3()){
// do stuff
}例如,如果您将条件设置为方法调用,这可能是相对“昂贵”的操作-如果之前的条件计算为false,这将阻止调用以下函数。
同样的道理也适用于内联条件句,比如:
if((a < b) && (c < d) && (e < f)){
// do stuff
}如果为a >= b,则c < d或e < f都不会被调用,这可以节省性能。(这是对您的第一个代码片段的改进,在第一个代码片段中,所有3个条件都将得到评估。)
https://stackoverflow.com/questions/8959782
复制相似问题