summaryrefslogtreecommitdiffhomepage
path: root/kotlin.html.markdown
diff options
context:
space:
mode:
authorashraf-patel <ashrafp725@gmail.com>2019-08-05 14:31:01 +0530
committerashraf-patel <ashrafp725@gmail.com>2019-08-05 14:31:01 +0530
commit99bab9d9e9f8063b8e8d9a76393fbf782a5ec0da (patch)
treea7c195931de521fe7f8f65eeead4a62bdbc37bac /kotlin.html.markdown
parent592901be9ce3bd6c854bbd1f0fa29981d373cec6 (diff)
Kotlin enum
Diffstat (limited to 'kotlin.html.markdown')
-rw-r--r--kotlin.html.markdown15
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.