kotlin学习笔记——枚举、封闭类
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                kotlin学习笔记——枚举、封闭类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                1、枚舉
kotlin中提供類枚舉的實現(xiàn),與java相同。枚舉可以帶參數(shù),如 enum Icon(val res: Int){MENU(R.drawable.menu),BACK(R.drawable.back) }val backIcon = Icon.BACK.res 枚舉可以通過字符串匹配名字來獲取,也可以得到所以枚舉的array,如 val back: Icon = Icon.valueOf("BACK") val icons: Array<Icon> = Icon.values() 枚舉也提供一些函數(shù)來獲取名字和聲明的位置 val name: String = Icon.BACK.name() val position: Int = Icon.BACK.ordinal() 枚舉根據(jù)順序實現(xiàn)了Comparable接口,所以可以很方便的進行排序2、封閉類sealed
用sealed修飾的類叫封閉類,它類似枚舉enum,如: sealed class Icon{class Menu(val id: Int) : Icon()class Back(val url: String) : Icon()object None : Icon() } 可以看到它有固定個數(shù)的子類,而且子類與父類一起被定義出來。與enum不同的是,枚舉的實例是唯一的,而封閉類可以有多個實例,它可以有不同的狀態(tài)。 封閉類可以與when配合使用,如: val result: String = when(icon){is Menu -> "xxx" + icon.idis Back -> icon.urlis None -> "" }3、異常Excaption
kotlin中的異常與java中相似,但是kotlin中的異常都是未經檢查,表示不會強迫在任何地方使用try/catch。 (kotlin中有throw關鍵字,但是沒有throws關鍵字) throw與try/catch的使用與java中一樣,但是在kotlin中它們都是表達式都可以返回值。具體見kotlin學習筆記——過程控制和Range表達式總結:
到本文章為止,kotlin學習筆記系列就結束了,這個系列主要是整理了學習kotlin過程中的一些知識點。但是kotlin學習筆記系列的專欄還會繼續(xù),會不定時的分享一些在使用kotlin開發(fā)過程中遇到的問題和新的知識,謝謝!?
總結
以上是生活随笔為你收集整理的kotlin学习笔记——枚举、封闭类的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: kotlin学习笔记——单元测试
 - 下一篇: C++中函数模板的用法详细解析