-1

我可以在案例块内的 switch 语句中引用选定的案例吗?

作为澄清:

假设我们有一个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;
}

附言。我只是在使用一个假设的例子,所以如果它没有意义,请不要担心。

我希望它现在有意义,基本上我想参考 case 标签后面的值。

问候。

4

2 回答 2

7

关于什么

switch(string) {
   case "car":
        output("Car: " + string);
        break;
    case "cat":
    case "dog":
    case "mouse":
        output("Animal: " + string);
        break;
    default:
        output("Unknown");
        break;
}
于 2013-05-04T19:01:22.320 回答
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;
}
于 2013-05-04T19:01:45.170 回答