简介

在scala中没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举。扩展Enumeration类后,调用value方法类初始化枚举中的可能值。

内部类value实际上是一个抽象类,真正创建的是val。因为实际上是Val,所以可以为Value传入id和name。如果不指定,id就是在前一个枚举值id上加一,name则是字段名。

scala枚举示例

scala枚举示例object TrafficLightColor extends Enumeration {type TrafficLightColor = Valueval Red = Value(0, "Stop")val Yellow = Value(10)val Green = Value("Go")
}object Margin extends Enumeration {type Margin = Valueval TOP, BOTTOM, LEFT, RIGHT = Value
}

 

import test.TrafficLightColor._
import test.Margin._
object Driver extends App {println(BOTTOM, BOTTOM.id)def doWhat(color: TrafficLightColor) = {if (color == Red) "stop"else if (color == Yellow) "hurry up" else "go"}//使用match匹配def doWhat2(color: TrafficLightColor) = color match {case Red    => "stop"case Yellow => "hurry up"case _      => "go"}// load Redval red = TrafficLightColor(0) // Calls Enumeration.apply println(red, red.id)println(doWhat(red))println(doWhat2(TrafficLightColor.Yellow))//打印出所有枚举Margin.values.foreach { v => println(v,v.id)}
}

  

 

转载于:https://www.cnblogs.com/moonlightml/p/9047101.html

scala.的Enumeration枚举示例(转)相关推荐

  1. scala.Enumeration 枚举示例

    简介 在Scala中并没有枚举类型,但在标准类库中提供了Enumeration类来产出枚举.扩展Enumeration类后,调用Value方法来初始化枚举中的可能值. 内部类Value实际上是一个抽象 ...

  2. Scala:Enumeration

    2019独角兽企业重金招聘Python工程师标准>>> Scala:Enumeration scala的枚举的声明,与Java中声明有很大区别,Scala的枚举值有些特殊,它的关键是 ...

  3. 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol

    Apple官方文档:The Swift Programming Language Protocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵 ...

  4. java 枚举 示例_Java枚举name()方法及示例

    java 枚举 示例 枚举类name()方法 (Enum Class name() method) name() method is available in java.lang package. n ...

  5. scala数据类型_Scala数据类型示例教程

    scala数据类型 A data type tells the compiler about the type of the value to be stored in a location. The ...

  6. scala中断循环代码示例

    实例 import scala.util.control._object Test {def main(args: Array[String]) {var a = 0;val numList = Li ...

  7. scala特性_Scala特性示例教程

    scala特性 Scala Traits consists of method and field definitions that can be reused by mixing classes. ...

  8. Scala键盘录入代码示例

  9. Scala函数作为参数传递示例

    使用匿名函数优化

最新文章

  1. the folder is already a source folder.
  2. 《Cacti实战》——第1章 认识Cacti
  3. Gdiplus中实现双Buffer绘图
  4. SQL Server 系统存储过程
  5. 创业冲突的五种解决方法是_不会说话,不懂处理人际冲突怎么办?《沟通的艺术》5步教会你...
  6. 受网友U2U之托,DevComponents出品的TreeGX最新版本Patch出炉
  7. String.raw()方法
  8. MySQL8.0版本升级建议及各类场景的操作方法
  9. 可以扦插的花有哪些?
  10. Eclipse Ctrl+Alt+↓ 失效问题解决
  11. 微信公众平台开发之微团购
  12. 工具记录,使用jarsigner 对APK进行签名
  13. ZYNQ FPGA程序固化流程
  14. 开源框架ZedGraph的使用
  15. 轻松学python(一)
  16. 一种车牌识别摄像机在立体车库中的应用方案
  17. 干货!因果推理的应用与发展 | PhD Debate-7
  18. 授权(mining.authorize)与 auth_stratum函数
  19. Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图
  20. IOS版aplayer使用教程_Google地球 安卓手机版(教程)流畅使用

热门文章

  1. 多态加opp内置函数
  2. linux 2.6 内核的移植
  3. Selector提取数据1:XPath选择器
  4. UIImageView contentModel
  5. opencv3 学习三 - 图像输入输出显示等
  6. django models 配置
  7. python联系题1
  8. 【laravel5.4】使用baum\node 类库实现无限极分类
  9. Hibernate之ID生成规则
  10. SSI(Server Side Includeds)使用详解(转载)