Czy można uzyskać wartości wyliczenia z klasy? Pozwól, że trochę to rozwiążę. Jeśli mam wyliczenie na przykład FooBar, to mogę uzyskać wartości FooBar przez wywołanie FooBar.values (), które zwróci tablicę z wyliczeniami (FooBar []). Mój problem polega na tym, że mam metodę, która przyjmuje jako parametr wejściowy klasę (klasa c) iw ramach metody sprawdzam, czy jest to enum (c.isEnum()). Jeśli to jest wyliczenie, musiałbym jakoś uzyskać wartości wyliczeniowe, problemem jest to, że nie wiem jak to zrobić, nie jestem nawet całkowicie pewien, czy to możliwe. Czy jest to możliwe i jeśli tak, jak mogę to osiągnąć? (Zauważ, że rozwiązanie musi być ogólne, innymi słowy nie jeśli-else).Uzyskaj wartości wyliczeniowe z klasy
Odpowiedz
Um ... czy obejrzałeś dokumentację API?
Zmieniano:. Można użyć c.getClass() getEnumConstants(), aby uzyskać wartości stałych
(to powiedział 'nazwy' zamiast 'wartości' i dodał trochę niepotrzebnych rzeczy)
Niepoprawnie. getEnumConstants() zwraca wartości, a nie imiona - i są one nawet wpisywane przez generyczne, jeśli obiekt klasy jest, choć prawdopodobnie nie ma w tym przypadku zastosowania. –
Ach, myślałem, że właśnie to przetestowałem, ale jest błąd w moim szybkim i brudnym teście; przepraszam za to. – Confusion
- 1. Uzyskaj wartości wyliczeniowe w Rust
- 2. coffeescript i wartości wyliczeniowe
- 3. Nieunikalne wartości wyliczeniowe
- 4. Mysql Wybierz wartości wyliczeniowe
- 5. dodając wartości wyliczeniowe do prostego combobox
- 6. Jak uzyskać wszystkie wartości wyliczeniowe w Javie?
- 7. Jak uzyskać wartości wyliczeniowe ze spacjami?
- 8. Jak przechowywać wartości wyliczeniowe w NSMutableArray
- 9. Uzyskaj nazwę klasy z rozszerzonej klasy
- 10. Uzyskaj nazwę klasy z obiektu klasy
- 11. Jak można porównać dwie wartości wyliczeniowe z "<"?
- 12. Uzyskaj wyliczenie z innej klasy
- 13. Uzyskaj instrukcję użycia z klasy
- 14. Uzyskaj wiązanie z klasy widoku
- 15. Uzyskaj losowych wartości z tablicy
- 16. Uzyskaj statyczne zmienne klasy potomnej z klasy nadrzędnej?
- 17. Jak zadeklarować zmienną, która może zawierać tylko klasy wyliczeniowe?
- 18. Uzyskaj nazwę aktualnej klasy?
- 19. Uzyskaj nazwę klasy nadrzędnej?
- 20. Uzyskaj rodzica klasy instancji
- 21. Najprostsza metoda do iteracji poprzez ciągłe wartości wyliczeniowe w C++
- 22. Czy typy wyliczeniowe .NET są właściwie zmiennymi typami wartości?
- 23. Uzyskaj wszystkie odziedziczone klasy ogólnej klasy abstrakcyjnej
- 24. Uzyskaj nazwę pola z klasy bez instancji
- 25. Uzyskaj wszystkie __slots__ z klasy pochodnej
- 26. Uzyskaj wyraźne wartości rekordów
- 27. Uzyskaj nazwę klasy Ruby bez metody klasy
- 28. Wypełnij/zaktualizuj wartości wyliczeniowe w środowisku wykonawczym w języku C#
- 29. Uzyskaj nazwę klasy betonu od klasy abstrakcyjnej
- 30. Procesor adnotacji: pobierz wszystkie wartości wyliczeniowe z obiektu TypeMirror lub TypeElement
Tak, kilka razy i jakoś tak po prostu tęskniłem za tą metodą o_O –
Wystarczy dodać przykład, jak jej używać: http://java.sun.com/docs/books/tutorial/reflect/special/ enumMembers.html – Kosi2801