Unter Code habe ich geschrieben, um die switch-case-Anweisung für jede Bedingung auszuführen. Jetzt denke ich, die switch-case-Anweisung zu entfernen und ein Designmuster anzuwenden, um dieses Problem zu beheben. // Haupt Iteration - für jedes Blatt für (Entry >> Eintrag: testCaseSheetsDataMap.entrySet()) {Gibt es eine Alternative für Switch Case-Anweisungen in Java? Irgendein gutes Entwurfs-Muster? My Switch case Anweisung Zunehmend Wie zu vermeiden
String sheetNameKey = entry.getKey().trim();
String testCaseName = testCaseSheetMasterMap.get(sheetNameKey).trim();
List<Map<String, Object>> executableRowsList = new ArrayList<Map<String, Object>>();
executableRowsList = entry.getValue();
CitiMainAuxiliary auxiliary = new CitiMainAuxiliary();
switch (testCaseName) {
case "Anonymous Mode Log In":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.ANONYMOUS);
break;
case "Login Mode":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.LOGIN);
break;
case "Cookied Mode Login":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.COOKIED);
break;
case "OBO Mode Login":
auxiliary.runAllLogin(executableRowsList, testCaseName, Constants.OBO);
break;
case "Anonymous Mode Megamenu":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.ANONYMOUS);
break;
case "Login Mode Megamenu":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.LOGIN);
break;
case "Cookied Mode Logon - Megamenu Check":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.COOKIED);
break;
case "OBO Logon - Megamenu Check":
auxiliary.runMegaMenu(executableRowsList, testCaseName, Constants.OBO);
break;
}
} // end-for testCaseSheetsDataMap
Sie suchen nach Ersatz mit Polymorphismus. – chrylis
Warum möchten Sie 'switch' ersetzen? Welche Probleme hast du damit? – talex
Ich lese Daten aus Excel und manchmal meine Case-Anweisung wird in Excel geändert mein Switch-Fall wird nicht funktionieren. Deswegen möchte ich ersetzen – Sunil