kotlin 基礎 15 列舉和單例

kotlin.jpeg
在 kotlin 中定義單例,只需要加上 object 即可。
object SingleTon{ }
列舉在現實開發中用處多多,我們定義狀況的可能性。下面是如何定義一個列舉
enum class Week { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } fun main(){ println(Week.Friday.ordinal) println(Week.Friday) }
4 Friday
有關列舉方法,可以通過 values()來遍歷列舉
var inner = OuterClass() val f:Week = Week.Friday println(enumValueOf<Week>("Friday")) println(Week.values()) println(enumValues<Week>())
Friday [LWeek;@f5f2bb7 [LWeek;@73035e27
enum class Week (val code:Int){ Monday(1), Tuesday(2), Wednesday(3), Thursday(4), Friday(5), Saturday(6), Sunday(7) }
列舉可以去實現介面,這就需要列舉中每一個元素都要實現介面類,這樣我們可通過遍歷列舉方法來執行實現方法,這樣個人來看也是一種多型方式,賦予同樣引數的函式根據列舉中型別實現不同邏輯。
interface caculatable{ fun apply(a:Int,b:Int):Int } enum class ZEnum:caculatable{ PLUS { override fun apply(a:Int,b:Int):Int = a + b }, MINUS{ override fun apply(a: Int, b: Int): Int = a - b } } fun main(args: Array<String>) { val a = 13 val b = 31 for (f in ZEnum.values()) { println("$f($a, $b) = ${f.apply(a, b)}") } }

kotlin_end.jpg