Java: anonyme enums?
Stellt Java die Möglichkeit der anonymen enums?
Zum Beispiel, ich möchte mit meiner Klasse die eine variable, deren Wert kann eine von 5 verschiedenen Einstellungen. So offensichtlich, dass sollten Sie die variable enum. Aber dies ist der EINZIGE Ort wo, dass insbesondere enum verwendet werden. Normalerweise würde ich erklären, einen enum-Typ rechts oben die variable, und die variable deklariert werden, der Typ, aber ich Frage mich, ob es eine sauberere Möglichkeit. Hat Java-Unterstützung anonyme enums?
Beispiel:
public class Test {
public enum Option {
FirstOption,
SecondOption,
ThirdOption
}
Option option;
}
Gibt es eine Möglichkeit zu vermeiden, deklarieren public enum Option
und stattdessen einfach die option-variable festgelegt werden, um entweder FirstOption, SecondOption oder ThirdOption mit keine Ahnung von der "Option" - Typ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kein Java unterstützt keine anonymen
enum
s.Nur deklarieren Sie in der Klasse mit keine externe Sicht:
option
von außen Klasse, wenn der enum-Typ ist privat? Welche Vorteile hat die Einstellung seiner Art eigenes haben?Option
kann nur zugegriffen werden, die innerhalb derTest
Klasse, die ist, was Sie beschreiben wollenString
und mitOption.valueOf(String)
oder keine Eingabe-Anzeige, die Sie möchten wirklich. Im Allgemeinen ist es nicht sinnvoll zu anonymisieren oder zu verbergen Enumerationen, wie Sie fordern.private
. Wenn Sie es verwenden möchten, die außerhalb der Klasse dannpublic
ist die offensichtliche Wahl. Aber wenn Sie es verwenden, außerhalb der Klasse, müssen Sie einen Namen für die Art, weil ein parameter oder eine variable oder der Rückgabewert-Typ müssen deklariert werden, der Typ.