Czy Java ma możliwość anonimowych wyliczeń?Java: anonimowe wyliczenia?
Na przykład chcę, aby moja klasa miała jedną zmienną, której wartością może być jedno z 5 różnych ustawień. Więc oczywiście ta zmienna powinna być wyliczeniem. Ale to jest TYLKO miejsce, w którym będzie używane to wyliczenie. Zwykle zadeklarowałbym typ enum tuż nad zmienną, a następnie zadeklarowałam, że zmienna jest tego typu, ale zastanawiałem się, czy istnieje czystszy sposób. Czy Java obsługuje anonimowe wyliczenia?
Przykład:
public class Test {
public enum Option {
FirstOption,
SecondOption,
ThirdOption
}
Option option;
}
Czy istnieje sposób, aby uniknąć oświadczając public enum Option
i zamiast po prostu pozwolić zmienna opcja być ustawiony na FirstOption, SecondOption lub ThirdOption bez pojęciem „Option” typu?
Jak przypisać wartość 'option' z klasy zewnętrznej, jeśli typ enum jest prywatne? Jakie korzyści daje ustawienie tego typu na prywatny? – Ricket
@Ricket w powyższym przykładzie, "Opcja" może być dostępna tylko w klasie "Test", co opisałeś chcąc –
Jak zamierzałeś ją przypisać, gdy była anonimowa? Ustawienie Enum na prywatne pozwala ukryć je przed użytkownikami api. Możesz przypisać wartość z zewnątrz, biorąc 'String' i używając' Option.valueOf (String) 'lub dowolnego wskazania wejścia, które naprawdę chcesz. Generalnie nie ma sensu anonimizować ani ukrywać Enumów, o które prosisz. –