È possibile ottenere i valori di enumerazione da una classe? Lasciami elaborare un po 'questo. Se ho un enum per esempio FooBar, allora posso ottenere i valori di FooBar chiamando FooBar.values () che restituirà un array con le enumerazioni (FooBar []). Il mio problema è che ho un metodo che accetta come parametro di input una classe (Classe c) e all'interno del metodo controllo se sia o meno un enum (c.isEnum()). Se è un enume, avrei bisogno di ottenere in qualche modo i valori enum, il problema è che non so proprio come farlo, non sono nemmeno del tutto sicuro che sia possibile. Quindi, è possibile e se lo è, come posso realizzare questo? (Si noti che la soluzione deve essere generica, in altre parole se else-else).Ottieni valori di enumerazione dalla classe
risposta
Um ... hai guardato il documento API?
Modificato:. È possibile utilizzare c.getClass() getEnumConstants() per ottenere i valori delle costanti
(si legge 'nomi' invece di 'valori' e ha aggiunto un po 'di cose inutili)
Errore. getEnumConstants() restituisce i valori, non i nomi - e sono anche digitati tramite generici se l'oggetto classe è, anche se probabilmente non si applica in questo caso. –
Ah, pensavo di averlo appena testato, ma c'è un bug nel mio test rapido e sporco; mi dispiace per quello. – Confusion
- 1. Ottieni bytecode dalla classe caricata
- 2. Ottieni il nome classe dalla classe estesa
- 3. Ottieni binding dalla classe di visualizzazione
- 4. Ottieni l'attributo dalla classe generata dinamicamente
- 5. Ottieni una dichiarazione d'uso dalla classe
- 6. Ottieni classi figlio dalla classe base
- 7. Utilizzo di enumerazione da una classe (C++)
- 8. Python: Ottenere valori BaseClass dalla classe derivata
- 9. Ottieni valori dalla tabella dei campi di testo javascript
- 10. Scala. Ottieni l'elenco dei nomi dei campi dalla classe
- 11. Ottieni valori univoci dalla colonna indice in MultiIndex
- 12. Come ottenere tutti i valori dalla classe enum di python?
- 13. Valore restituito dalla classe AsyncTask Metodo onPostExecute
- 14. IEnumerazione di enumerazione multipla causata dalla precondizione del contratto
- 15. Ottieni valori distinti di record
- 16. Enumerazione dei valori di registro in Go (Golang)
- 17. Extension sulla enumerazione, non un'istanza di enumerazione
- 18. C# - Acquisizione dei valori delle proprietà statiche dalla classe statica
- 19. Come sapere il tipo sottostante di enumerazione di classe?
- 20. Differenza tra enumerazione e enumerazione
- 21. Trovare una classe di enumerazione utilizzando Reflection in Java
- 22. Ottieni il nome completo di una classe?
- 23. Ottieni valore dalla ricerca C#
- 24. C# ereditarietà. classe derivata dalla classe Base
- 25. Ottieni solo numeri dalla stringa
- 26. Ottieni oggetto casuale dalla matrice
- 27. Ottieni l'indice di enum dalla stringa?
- 28. Ottieni un valore intero univoco dalla stringa
- 29. Enumerazione di GADT in Haskell
- 30. Denominazione dei tipi di enumerazione
Sì, un paio di volte e in qualche modo mi mancava in qualche modo quel metodo o_O –
Solo per aggiungere un esempio su come usarlo: http://java.sun.com/docs/books/tutorial/reflect/special/ enumMembers.html – Kosi2801