我在switch
语句中遇到了一个复杂的情况,即(总是发生)总是突然终止(带有return,break或...)。我想添加诸如lint的/*UNREACHABLE*/
声明之类的内容,以指示任何阅读该代码的人都不会遇到下一种情况(Java中的常见错误)。我正在寻找一种更正式的方式来表明这一点,理想情况下,如果不是无法访问,可能会导致编译器警告或错误。有什么想法吗?
switch (x) {
case 1:
if (...) {
switch (.) {
...
}
} else {
...
}
/*UNREACHABLE*/
case 2:
...
}
代码是真正无法访问的,Java编译器知道它是,所以我不能在其中放置任何(正常)代码,因为编译器会将其标记为无法访问的代码。
答案 0 :(得分:1)
如果您愿意接受野蛮的攻击,则可以在有效的case
之间插入未使用的switch (x) {
case 1:
if (...) {
switch (.) {
...
}
} else {
...
}
case -1:
/*UNREACHABLE*/
throw new RuntimeException("nope");
case 2:
...
}
:
{{1}}
我个人认为我不会使用它,但是应该可以。