summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDivay Prakash <divayprakash@users.noreply.github.com>2019-08-05 17:44:37 +0530
committerGitHub <noreply@github.com>2019-08-05 17:44:37 +0530
commit87ea4291793f8af9c5bed9f148c8f94ba800e102 (patch)
treecd5c3214adedaf1ed5e27d8292869bfa0f153d7c
parent11885877e7105ca2e021f5ca7075bfa101cf479a (diff)
parent99bab9d9e9f8063b8e8d9a76393fbf782a5ec0da (diff)
Merge pull request #3593 from ashraf-patel/feature/ashraf/kotlin-enum
[Kotlin/en] Kotlin enum
-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.