Scala里面如何使用枚举

Posted 我是攻城师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala里面如何使用枚举相关的知识,希望对你有一定的参考价值。



枚举通常用来定义已知数量的常量,比如月份,星期,季节等等,用过java的人都知道定义枚举的关键字是enum,在scala里面和java有所不同,来看一个完整的例子定义:

Scala里面如何使用枚举


上面的这个例子基本涵盖了枚举的所有常用方法,定义枚举我们继承的是Enumeration抽象类,然后通过内部对象Value来赋值每一个枚举的值,此外里面还定义了几个工具方法,比如判断是否存在某个枚举,是否是工作日,以及打印所有的枚举值,在使用的时候可以直接通过Object来访问 。

此外还可以用枚举值做模式匹配:


上面基本就是Scala里面最常见的枚举方法了,当然这种常见的枚举有一些缺点,比如上面的这个模式匹配,如果我仅仅写3个枚举值,它编译时候仍然能通过,但在运行的时候就会报错,最后这种方式不能枚举一个对象,只能简单的类型,如果想枚举的值,本身就是一个Bean,那么则需要另外的方式,这里就不展开了,有兴趣的朋友可以参考下面的链接:

http://pedrorijo.com/blog/scala-enums/



以上是关于Scala里面如何使用枚举的主要内容,如果未能解决你的问题,请参考以下文章

scala 自定义实现枚举

如何在 Scala 3 枚举上进行模式匹配

如何在 SORM 中添加 Scala 枚举?

Scala:如何在case类构造函数中使用类型作为第一类值?

在Scala里面如何使用正则处理数据

如何在 Scala 中使用 switch/case(简单模式匹配)?