Ich habe einen Enum-Typ (sagen wir für Argumente willen CarModel
), in einer Anwendung (zahlreiche Klassen) verwendet.get() Methoden in Java enum Typ
public enum CarModel {
DIABLO,
P911,
DB7;
}
Ich habe verschiedene Methoden, die diesen CarModel
Aufzählungstyp auf unterschiedliche Weise nutzen, und jeder hat eine Switch-Anweisung einige String
variabel in Abhängigkeit von dem Aufzählungstyp zu setzen, bevor andere Sachen los zu tun. (z. B. den Hersteller eines Modells einstellen oder das Ursprungsland usw. setzen. Diese Ergebnisse sind zur Laufzeit statisch)
Das Problem ist, wenn ich ein neues Modell zur Enum hinzufügen möchte, müsste ich gehen zu jeder Methode und erweitern/modifizieren die switch-Anweisung, um ihre Existenz zu handhaben. Dies könnte leicht zu menschlichem Fehler und/oder Code-Duplikation führen (wenn verschiedene Methoden die gleichen Switch-Anweisungen verwenden).
Anstatt alle über Switch-Anweisungen verwenden, würde Ich mag statische Methoden haben, die in einem einzigen Ort bearbeitet werden könnten, und ähnlich für das Verhalten der folgenden erlauben würde:
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
Ist das möglich mit einem enum, (und ist ein eNUM auch der ‚richtige‘ Weg, dies zu tun?
Ich mache das die ganze Zeit, liebe diese Features von enums. – Malcolm
+1 ziemlich cool !!! alte Art enum. – BlaShadow