Fork me on GitHub

scala枚举

定义枚举对象

1
2
3
4
5
6
7
/** 定义一个枚举类 */
private[deploy] object SparkSubmitAction extends Enumeration {
// 声明枚举对外暴露的变量类型
type SparkSubmitAction = Value
// 枚举的定义
val SUBMIT, KILL, REQUEST_STATUS = Value
}

使用枚举

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** 定义一个枚举类 */
object SparkSubmitAction extends Enumeration {
// 声明枚举对外暴露的变量类型
type SparkSubmitAction = Value
// 枚举的定义
val SUBMIT, KILL, REQUEST_STATUS = Value

def getAction(action: SparkSubmitAction){
action match {
case SUBMIT => println ("action is " + action)
case KILL => println ("action is " + action)
case REQUEST_STATUS => println ("action is " + action)
case _ => println ("Unknown type")
}
}
}

测试用例

1
2
3
4
5
6
7
8
9
object EnumerationTest {
def main(args: Array[String]): Unit = {
val action = SparkSubmitAction.apply(1)
SparkSubmitAction.getAction(action)

val action1 = SparkSubmitAction.withName("quit")
SparkSubmitAction.getAction(action1)
}
}

本文标题:scala枚举

文章作者:tang

发布时间:2019年01月09日 - 23:01

最后更新:2019年04月10日 - 18:04

原始链接:https://tgluon.github.io/2019/01/09/scala枚举/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------