Java - 代码在 2 种开关情况下执行



我正在 IntelliJ 中调试我的应用程序,似乎我的代码进入了 2 个开关语句而不是 1 个。

我的代码如下所示:

final String CASE_1 = "case_1";
final String CASE_2 = "case_2";
switch(CASE): {
CASE_1: {
// do something
}
CASE 2: {
// do something
}
}

我的应用程序执行两种情况下的代码。

代码会进入这两种情况有什么理由吗? (我故意不粘贴我的实际代码,因为如果不创建项目的整个结构,就不可能在本地重现(

在每个案例之后放置一个中断,否则它会转发到下一个案例。

public class Main {
public static void main(String args[]) {
final String CASE_1 = "case_1";
final String CASE_2 = "case_2";
String CASE = "case_1";
switch(CASE){
case CASE_1:{
System.out.println("Case 1 Found");
break; //Put a break here if you don't want the code to execute for the next case as well.
}
case CASE_2:{
System.out.println("Case 2 Found");
}
}
}
}

因为你没有结束这个案例

public void runTest(String CASE) {
switch (CASE) {
case CASE_1:
// code block
break;
case CASE_2:
// code block
break;
default:
break;
}
}

最新更新