Java - 从默认的 switch 语句强制通过

问题描述 投票:0回答:2

我有一个开关,在特定情况下我需要做一些特殊的事情,但我仍然希望它们通过 switch 语句的默认情况,因为在那里我有所有情况下通用的功能。处理完特殊情况后,如何强制进入默认情况?

例子:

    switch(someVar) {
        case "a":
            ....
            //do something peculiar for a 
            break;
        case "b":
            ...
            //do something peculiar for b
            break;
        default: 
            ...
            //common things that all cases should do
    }

编辑:目前我只是在每个特殊案例的底部复制粘贴默认值内的行,但这很丑陋。

java switch-statement
2个回答
1
投票

如果事情必须无条件执行,就应该移出条件:

switch(someVar) {
    case "a":
        ....
        //do something peculiar for a 
        break;
    case "b":
        ...
        //do something peculiar for b
        break;
}

//common things that all cases should do

或者,提取一个方法:

switch(someVar) {
    case "a":
        ....
        //do something peculiar for a 
        doCommonThings();
        break;
    case "b":
        ...
        //do something peculiar for b
        doCommonThings();
        break;
}

1
投票

如果一个东西在所有情况下都是通用的,它应该发出警告,表明它根本不应该放在开关盒中,而是应该移到外面。

switch(someVar) {
    case "a":
        ....
        //do something peculiar for a 
        break;
    case "b":
        ...
        //do something peculiar for b
        break;
}

//common things that all cases should do

类似于如果你会做一个 if else

if(isSpecial) {
    do X
}
else {
    do Y
}
do for both

if(isSpecial) {
    do X
    do for both
}
else {
    do Y
    do for both
}
© www.soinside.com 2019 - 2024. All rights reserved.