Rus*_*ell 5 java switch-statement
我正在使用Java 6.
假设我有一个包含6个值的枚举,从A到F排序.大约有4个值处理相同.我可以这样写.
switch (whichType) {
case A:
case B:
case C:
case D:
return task();
case E:
return someothertask();
case F:
return anothersomeothertask();
}
Run Code Online (Sandbox Code Playgroud)
或者像这样.
switch (whichType) {
case E:
return someothertask();
case F:
return anothersomeothertask();
default:
return task();
}
Run Code Online (Sandbox Code Playgroud)
空值永远不会到达此开关.
在简洁和清晰方面,第二种方法更好.在明确方面,我认为第一种方法更好.
每种方法都有其他优点/缺点吗?
此外,这个简单的问题可能会重复,但我尝试过,但在任何地方都找不到它.如果我没有足够好地搜索它,我道歉.
如果枚举是绝对的,永远正确地固定在六个值,两者都很好.否则,请考虑枚举可能的第七个值.如果E和F是与此switch逻辑相关的唯一两个可能的异常值,并且任何其他值将落在与A到D相同的桶中,请继续使用default.否则,您拥有case每个值更安全.