diff options
author | ashraf-patel <ashrafp725@gmail.com> | 2019-08-05 14:31:01 +0530 |
---|---|---|
committer | ashraf-patel <ashrafp725@gmail.com> | 2019-08-05 14:31:01 +0530 |
commit | 99bab9d9e9f8063b8e8d9a76393fbf782a5ec0da (patch) | |
tree | a7c195931de521fe7f8f65eeead4a62bdbc37bac /kotlin.html.markdown | |
parent | 592901be9ce3bd6c854bbd1f0fa29981d373cec6 (diff) |
Kotlin enum
Diffstat (limited to 'kotlin.html.markdown')
-rw-r--r-- | kotlin.html.markdown | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/kotlin.html.markdown b/kotlin.html.markdown index 9336d217..5bbf6847 100644 --- a/kotlin.html.markdown +++ b/kotlin.html.markdown @@ -350,11 +350,22 @@ fun helloWorld(val name : String) { // Enum classes are similar to Java enum types. enum class EnumExample { - A, B, C + A, B, C // Enum constants are separated with commas. } - fun printEnum() = println(EnumExample.A) // => A +// Since each enum is an instance of the enum class, they can be initialized as: +enum class EnumExample(val value: Int) { + A(value = 1), + B(value = 2), + C(value = 3) +} +fun printProperty() = println(EnumExample.A.value) // => 1 + +// Every enum has properties to obtain its name and ordinal(position) in the enum class declaration: +fun printName() = println(EnumExample.A.name) // => A +fun printPosition() = println(EnumExample.A.ordinal) // => 0 + /* The "object" keyword can be used to create singleton objects. We cannot instantiate it but we can refer to its unique instance by its name. |