Am a newbie here. Can anyone give an example to iterate an enum with values and valueOf methods??
This is my enum class
enum class Gender {
Female,
Male
}
I know we can get the value like this
Gender.Female
But I want to iterate and display all the values of Gender. How can we achieve this? Anyhelp could be appreciated
You can use
values
like so:Since Kotlin 1.1 there are also helper methods available:
With the above you can easily iterate over all values:
To map enum name to enum value use
valueOf
/enumValueOf
like so:You're getting
[LGender;@2f0e140b
or similar as the output of printingGender.values()
because you're printing the array reference itself, and arrays don't have a nice defaulttoString
implementation like lists do.The easiest way to print all values is to iterate over that array, like this:
Or if you like method references:
You could also use
joinToString
from the standard library to display all values in a single, formatted string (it even has options for prefix, postfix, separator, etc):