Wenn Sie einen Code vom Typ "Lookup" haben, können Sie die switch-case-Klausel in eine eigene Methode packen.
Ich habe einige davon in einem "Hobby" -System, das ich zum Spaß entwickle:
private int basePerCapitaIncomeRaw(int tl) {
switch (tl) {
case 0: return 7500;
case 1: return 7800;
case 2: return 8100;
case 3: return 8400;
case 4: return 9600;
case 5: return 13000;
case 6: return 19000;
case 7: return 25000;
case 8: return 31000;
case 9: return 43000;
case 10: return 67000;
case 11: return 97000;
default: return 130000;
}
}
(Ja. Das ist GURPS Raum ...)
Ich stimme anderen zu, dass Sie in den meisten Fällen mehr als eine Rückgabe in einer Methode vermeiden sollten, und ich erkenne, dass diese möglicherweise besser als Array oder etwas anderes implementiert wurde. Ich fand gerade, dass Switch-Case-Return eine ziemlich einfache Übereinstimmung mit einer Nachschlagetabelle mit einer 1: 1-Korrelation zwischen Eingabe und Ausgabe ist, wie oben beschrieben (Rollenspiele sind voll davon, ich bin sicher, dass sie in anderen existieren auch "Unternehmen"): D.
Wenn andererseits die case-Klausel komplexer ist oder etwas nach der switch-Anweisung passiert, würde ich nicht empfehlen, return darin zu verwenden, sondern eine Variable im switch setzen, mit einer Pause beenden und return der Wert der Variablen am Ende.
(Auf der ... dritten? Hand ... können Sie einen Schalter jederzeit in eine eigene Methode umgestalten ... Ich bezweifle, dass er sich auf die Leistung auswirkt, und es würde mich nicht wundern, wenn moderne Compiler ihn überhaupt erkennen könnten etwas, das eingefügt werden könnte ...)
continue
odergoto
- es ist idiomatisch, sie anstelle von zu verwendenbreak
.