In Java Enum-Typen als eine Klasse handeln, die mit ihrer einzigartigen erklärt Name. Es ist fast wie jede andere Klasse, die entworfen wurde, um konstante Werte zu erstellen. Kürzlich stieß ich auch auf eine Info, dass vor der Deklaration von Enums in Java eine Enum-ähnliche Klasse erstellt wurde. Genau wie der Artikel, der zu dieser Frage vorgeschlagen wurde, scheint es, dass vor JVM 1.5 klassenbasierte Enums weit verbreitet waren.
können Sie diese Quelle überprüfen: http://javarevisited.blogspot.com/2011/08/enum-in-java-example-tutorial.html
Ich denke, es auf Java Aufzählungen eine sehr gute Erklärung ist, und warum sie erstellt werden. Der Artikel behauptet, 3 Vorteile für Enum:
1) Typ Sicherheit.
2) Wenn die Klasse nicht gründlich bearbeitet wurde, war die Enum-Klasse anfällig für Druckprobleme. Wenn der Codierer ein zurückgegebenes Zeichenfolgenergebnis wollte, wurde ein primitiver Wert zurückgegeben. Nach meiner Erfahrung wird dies mit einigen Ergänzungen der Klasse vermieden. Aber die Frage ist, ist es bequem für den Programmierer.
3) Erneut basierte der Zugriff auf einer Instanz der Klasse. Daher kann der Codierer nicht direkt auf die Enum-Option zugreifen. Der Coder muss den Klassennamen verwenden.
Als Ergebnis: Aus Gründen der Übersichtlichkeit und Codelesbarkeit sind Enums eine gute Wahl. Außerdem ähnelt Enum Structure einer einzelnen Klasse, die in einer Trägerklasse verschachtelt ist. Wenn der Programmierer das Enum Design verbessern und seinen eigenen Stil erstellen möchte, kann er auf das alte manuell codierte klassenbasierte System zurückgreifen.
Na ja, nicht ganz voll - man kann nicht Enum Unterklasse oder von einer anderen Klasse erweitern. –
@AndreyChaschev Related: http://stackoverflow.com/q/1414755/1225328 – sp00m