In questo programma imparerai a convertire un valore stringa in un enum in Kotlin usando il metodo valueOf () di enum.
Esempio: ricerca enumerazione per valore stringa
enum class TextStyle ( BOLD, ITALICS, UNDERLINE, STRIKETHROUGH ) fun main(args: Array) ( val style = "Bold" val textStyle = TextStyle.valueOf(style.toUpperCase()) println(textStyle) )
Quando esegui il programma, l'output sarà:
GRASSETTO
Nel programma sopra, abbiamo un enumerazione TextStyle che rappresenta i diversi stili che un blocco di testo può avere, cioè grassetto, corsivo, sottolineato, barrato.
Abbiamo anche una stringa denominata style che contiene lo stile corrente che vogliamo. Tuttavia, non è tutto maiuscolo.
Quindi utilizziamo il metodo valueOf () di enum TextStyle per passare lo stile e ottenere il valore enum richiesto.
Poiché valueOf () accetta un valore di stringa sensibile al maiuscolo / minuscolo, abbiamo dovuto utilizzare il metodo toUpperCase () per convertire la stringa data in maiuscolo.
Se, invece, avessimo utilizzato:
TextStyle.valueOf (stile)
il programma avrebbe generato un'eccezione No enum constant EnumString.TextStyle.Bold
.
Ecco il codice Java equivalente: programma Java per cercare enumerazione in base al valore della stringa.