是否可以从相同情况下的方法中退出(返回)交换条件?
给出以下代码:
switch(int blaah) {
case 1:
some code here;
break;
case 2:
myMethod();
some code here;
break;
default:
some code here;
}
public void myMethod() {
if(boolean condition) {
return;
/*I want this return valuates in switch case too.
so the switch case exit without executing the rest of code of "case 2" */
}
some code here;
}
我知道这里的return
仅跳过myMethod
中的其余代码。我正在寻找可以告诉switch情况从该方法停止执行的东西。
答案 0 :(得分:2)
如果没有完整的上下文,很难给出有意义的解决方案。
但是...
您可以从该方法返回布尔结果,并根据开关结果决定是否继续。
public boolean myMethod() {
if(boolean condition) {
return false;
}
//some code here;
return true;
}
switch(int blaah) {
case 1:
some code here;
break;
case 2:
if (myMethod()) {
//some code here; //Execute only if the method signalled to do so
}
break;
default:
some code here;
}
另一个选择:
如果if(boolean condition)
是您在方法中所做的第一件事,则可以在开关案例中对其进行评估,并且可以避免在结果为true并立即中断的情况下调用该方法。
case 2:
if (boolean condition) {
myMethod();
//some code here;
}
break;
答案 1 :(得分:0)
最好的选择是
case 2:
if (someCondition) {
myMethod();
}
else {
// some code
}
break;