我的意图是在同一个switch语句中调用另一个case中的两个case,
switch (orderType) {
case 1:
statement 1;
break;
case 2:
statement 2;
break;
case 3:
**call case 1;**
**Call case 2;**
break;
default:
break;`
}
我们能用Java实现吗?
6条答案
按热度按时间irtuqstp1#
不,你不能在另一个switch case中 * 跳转 * 到代码片段,但是你可以将代码提取到一个自己的方法中,这个方法可以在另一个case中调用:
rm5edbpk2#
尽管不能直接影响
switch
的case,但可以从一个case调用switch的父方法并传递不同的参数。5tmbdcev3#
你不能像这样调用另一个
case
代码块,但是你可以把这些代码块 Package 在一个方法中,然后重用它们:a64a0gku4#
使用方法是最好的方法,正如在可接受的答案中提到的那样,但由于某些原因,如果您无法创建方法,这里是另一种不使用方法的方法
inb24sb25#
只是提醒一下:虽然最推荐的情况是最好的解决方案,但请注意,如果您没有以
brake;
结束您的case:
,它将在下一个情况中继续执行。然后,虽然它仍然是最好的实践打破你的情况下,你仍然可以采取类似的解决方案如下:
请注意,"避免中断"解决方案不能完全涵盖OP必需品,因为写入:
或:
将使
case: 3
与case: 1
相同,从而使它们执行第一个代码中的两个方法,或第二个代码中的单个方法。2ledvvac6#
您可以在某些情况下使用此技巧:
}