我可以在case-block中的switch语句中引用所选的case吗?
澄清:
假设我们有一个输出给定字符串的函数output(String)
。
然后可以在一些新代码中转换旧代码(我不知道正确的语法)?
旧代码:
public void switchTest(String string) {
case "car":
output("Car: car");
break;
case "cat":
output("Animal: cat");
break;
case "dog":
output("Animal: dog");
break;
case "mouse":
output("Animal: mouse");
break;
default:
output("Unknown");
break;
}
建议的代码,x
是我们的神奇元素:
public void switchTest(String string) {
case "car":
output("Car: " + x);
break;
case "cat":
case "dog":
case "mouse":
output("Animal: " + x);
break;
default:
output("Unknown");
break;
}
PS。我只是使用一个假设的例子,所以如果没有意义,不要担心。
我希望它现在有意义,基本上我想引用case标签背后的值。
问候。
答案 0 :(得分:7)
怎么样?
switch(string) {
case "car":
output("Car: " + string);
break;
case "cat":
case "dog":
case "mouse":
output("Animal: " + string);
break;
default:
output("Unknown");
break;
}
答案 1 :(得分:2)
很抱歉,如果我在这里忽略了这一点,但为什么不使用字符串?
public void switchTest(String string) {
case "car":
output("Car: " + string);
break;
case "cat":
case "dog":
case "mouse":
output("Animal: " + string);
break;
default:
output("Unknown");
break;
}