hel*_*one 0 java switch-statement
我得到一个switch语句,“ BMW”和“ Mercedes”案例共享几乎相同的内容,差异不大(更新方法)。
对于这些案例内容,我不想重复所有代码。有什么办法可以解决这个问题?
switch (car) {
case "BMW":
updateBmwSpecs();
...//Same code with Mercedes case
break;
case "Mercedes":
updateMercedesSpecs();
...//Same code with BMW case
break;
case "Ferrari":
//content
break;
...//Remaining cases
}
Run Code Online (Sandbox Code Playgroud)
没有任何更多信息,我在这里看到的唯一选择是提取具有该常用功能的辅助方法:
switch (car) {
case "BMW":
updateBmwSpecs();
doCommon();
break;
case "Mercedes":
updateMercedesSpecs();
doCommon();
break;
case "Ferrari":
break;
// remaining cases
}
private void doCommon() {
// do whatever logic be common to BMW and Mercedes
// e.g. take joy rides through the city and get too many car washes
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |