package com.learn.scala.day12
import WeekDayEnum._
import com.learn.scala.day12.ColorEnum._
/**
* scala沒有枚舉類型,但是可以通過實現Enumeration實現枚舉,
* Created by zhuqing on 2017/3/5.
*/
object Day12EnumTest {
def main(args: Array[String]): Unit = {
/**
* 遍歷枚舉
*/
for (gender <- GenderEnum.values) {
println(gender.id + "," + gender)
}
for (color <- ColorEnum.values) {
println(color.id + "," + color)
}
for (weekday <- WeekDayEnum.values) {
println(weekday.id + "," + weekday)
}
/**
* 使用枚舉
*/
println(GenderEnum.MAN)
/**
* 直接時候枚舉名,需要
* 1.導入枚舉import? com.learn.scala.day12.WeekEnum._
*/
println(MONDAY)
println(RED+"="+RED.id)
}
}
枚舉實現:
package com.learn.scala.day12
/**
* scala沒有枚舉類型,但是可以通過實現Enumeration實現枚舉,
* 枚舉必須是object的
* 枚舉類命名是最好以Enum結尾
* 性別的枚舉,
*/
object GenderEnum extends Enumeration {
/**
* 使用默認value,枚舉的id從0開始累加1
* value的Name默認是枚舉
*/
val MAN, WOMAN, MAN_TO_WOMAN, WOMAN_To_MAN, UNKNOW = Value
}
object ColorEnum extends Enumeration {
/**
* 自定義Value的Id,name
*/
val RED = Value(0xff0000, "紅")
val GREEN = Value(0x00ff00, "綠")
val BLUE = Value(0x0000ff, "藍")
}
object WeekDayEnum extends Enumeration {
/**
* 自定義Value的Id
*/
val MONDAY = Value(1)
/**
* 沒有自定義Value的Id,Id值會根據上一個定義的值+1
*/
val TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY = Value
}