java 如何删除 switch 中的重复案例
How to remove duplicate cases in switch in java
我有 sonarQube 运行 但它说这些代码行中有重复项。如何在 switch 语句中解决这个问题?我正在学习 java 中的单元测试如何工作,所以任何帮助都会很棒!
switch () {
case "M":
campusLogo = "/watermark_main.png";
break;
case "IN":
campusLogo = "/Watermark_IN.png";
break;
case "WA":
campusLogo = "/Watermark_WA.png";
break;
case "MO":
campusLogo = "/Watermark_MO.png";
break;
case "NC":
campusLogo = "/Watermark_NC.png";
break;
case "NV":
campusLogo = "/Watermark_NV.png";
break;
case "OH":
campusLogo = "/Watermark_OH.png";
break;
case "TN":
campusLogo = "/Watermark_TN.png";
break;
case "TX":
campusLogo = "/Watermark_TX.png";
break;
default:
campusLogo = "/watermark_main.png";
}
我认为以下解决方案应该适合您:
switch (choice) {
case "IN":
case "WA":
case "MO":
case "NC":
case "NV":
case "OH":
case "TN":
case "TX":
campusLogo = "/Watermark_" + choice + ".png";
break;
default:
campusLogo = "/watermark_main.png";
}
如果 SonarQube 说您有重复的块,那与您在此处显示的业务逻辑关系不大。 SonarQube 告诉您的是,您在另一个 class 或方法中复制了完全相同的业务逻辑。您应该检查重构您的项目,以便此 switch 语句仅出现在一个地方。
我有 sonarQube 运行 但它说这些代码行中有重复项。如何在 switch 语句中解决这个问题?我正在学习 java 中的单元测试如何工作,所以任何帮助都会很棒!
switch () {
case "M":
campusLogo = "/watermark_main.png";
break;
case "IN":
campusLogo = "/Watermark_IN.png";
break;
case "WA":
campusLogo = "/Watermark_WA.png";
break;
case "MO":
campusLogo = "/Watermark_MO.png";
break;
case "NC":
campusLogo = "/Watermark_NC.png";
break;
case "NV":
campusLogo = "/Watermark_NV.png";
break;
case "OH":
campusLogo = "/Watermark_OH.png";
break;
case "TN":
campusLogo = "/Watermark_TN.png";
break;
case "TX":
campusLogo = "/Watermark_TX.png";
break;
default:
campusLogo = "/watermark_main.png";
}
我认为以下解决方案应该适合您:
switch (choice) {
case "IN":
case "WA":
case "MO":
case "NC":
case "NV":
case "OH":
case "TN":
case "TX":
campusLogo = "/Watermark_" + choice + ".png";
break;
default:
campusLogo = "/watermark_main.png";
}
如果 SonarQube 说您有重复的块,那与您在此处显示的业务逻辑关系不大。 SonarQube 告诉您的是,您在另一个 class 或方法中复制了完全相同的业务逻辑。您应该检查重构您的项目,以便此 switch 语句仅出现在一个地方。