我在回答 Java 测试时遇到了这个问题:
正确答案是 B
。老实说,我通过排除另一个明显错误的案例来回答这个问题,但我实际上无法理解这个问题的重点。谁能解释为什么这是真的?哪里有帮助?
最佳答案
我想这意味着你应该保护自己不要错过开关盒。
假设你有一个 enum Color {red, green}
和代码中的这个开关:
switch(color) {
case red:
doSomethingRed();
break;
case green:
doSomethingGreen();
break;
}
如果将来您添加新颜色
blue
,您可以忘记在开关中为它添加一个案例。将失败的断言添加到默认情况下会抛出 AssertionError 并且你会发现你的错误。
switch(color) {
case red:
doSomethingRed();
break;
case green:
doSomethingGreen();
break;
default:
assert false : "Oops! Unknown color"
}
关于java - 结合 assert 和 switch 语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26440506/