scala 列舉
scala沒有列舉型別, 標準庫定義了一個Enumeration的助手類, 可以用於產出列舉
示例程式碼:
object CharType extends Enumeration {
type CharType = Value
val TYPE_SPACE = Value // 空白字元
val TYPE_ARABIC = Value // 阿拉伯數字
val TYPE_ENGLISH = Value // 英文字元
val TYPE_CHINESE = Value // 中文字元
val TYPE_ENGLISH_FORM = Value // 英文標點
val TYPE_CHINESE_FORM = Value // 中文標點
val TYPE_USELESS = Value // 無效字元
}
每次呼叫Value方法都會返回內部類的新例項,該內部類也叫Value
可以傳向Value傳ID, 名稱, 或兩個都傳;
未定義時, ID預設從0開始, 累計加1, 預設名稱為欄位名
val Red = Value(0, "Red")
val Yellow = Value(10)
val Green = Value("Green")
注意列舉成員的型別是CharType.Value 而不是 CharType, 為了引入方便, 可以在CharType中定義一個型別別名:
type CharType = Value
這樣當 import CharType._ 就可以用CharType 表示 CharType.TYPE_ARABIC的型別了
for (c <- CharType.values) println(c.id + ":" + c)
通過ID查詢Value:
CharType(0) // 如果不存在: java.util.NoSuchElementException:
CharType.withName("TYPE_SPACE")
均返回 CharType.Value型別
相關文章
- Scala陣列操作陣列
- Java 列舉、JPA 和 PostgreSQL 列舉JavaSQL
- 列舉
- 列舉和列舉的取值範圍
- scala陣列與java陣列對比陣列Java
- Java列舉Java
- Enumeration列舉
- 列舉類
- scala語法 -多維陣列陣列
- Scala陣列、元組與集合陣列
- C# 列舉與位列舉概述C#
- Java 列舉(enum)Java
- 列舉工具類
- Swift-列舉Swift
- TypeScript 列舉enumTypeScript
- 列舉型別型別
- java列舉類Java
- 列舉比較
- TypeScript 列舉指南TypeScript
- 自定義列舉
- 使用陣列實現環形佇列Scala版本陣列佇列
- Java列舉-通過值查詢對應的列舉Java
- Java enum列舉類詳解 列舉的常見用法Java
- scala佇列、並行集合基本使用佇列並行
- springboot mybatis列舉配置(每次只需新增一個列舉類即可)Spring BootMyBatis
- iOS 列舉器NSEnumeratoriOS
- Java基礎--列舉Java
- golang 常量與列舉Golang
- TS — 列舉(詳解)
- ENUM列舉型別型別
- Java列舉解讀Java
- 【java】【列舉使用技巧】Java
- Java(4)列舉類Java
- delphi 裡的 列舉
- 列舉子集的方法
- 【python】Enum 列舉類Python
- java中的列舉Java
- 【java基礎】列舉Java