文档章节

第十章 Scala 容器基础(二十六):创建并使用Enumerations

阿拉德大陆的魔法师
 阿拉德大陆的魔法师
发布于 2016/04/19 11:57
字数 223
阅读 98
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Problem

    你准备使用一个枚举类(一组被命名的值作为常量)在你的应用里。

Solution

    继承scala.Enumeration来创建你的枚举类:

package com.acme.app {
  object Margin extends Enumeration {
    type Margin = Value
    val TOP, BOTTOM, LEFT, RIGHT = Value
  }
}

object Main {
  def main(args: Array[String]) {
    import com.acme.app.Margin._

    val currentMargin = TOP

    if (currentMargin == TOP) println("working on TOP")

    import com.acme.app.Margin

    Margin.values.foreach(println)
  }
}

    对于创建一组常量,Enumerations是非常有用的,比如一周中的天,一年中的周。还有许多其他的情况,当你用到一组相关常量的时候。

    你也可以用下面这种方案,但是他回根据你的代码去生成4次,并且如果你只是想把它作为枚举来用的话,有许多东西是你用不到的:

package com.acme.app {
  trait Margin
  case object TOP extends Margin
  case object RIGHT extends Margin
  case object BOTTOM extends Margin
  case object LEFT extends Margin
}


© 著作权归作者所有

阿拉德大陆的魔法师
粉丝 27
博文 91
码字总数 83019
作品 0
西城
程序员
私信 提问
第十章 Scala 容器基础(七):用Vector作为你指定的不可变序列

问题: 你需要为你的Scala应用选择一个快速,通用的不可变序列集合类型,那么该如何选择呢? 解决: Vecotr类目前可以被认为是这么一个通用的不可变数据结构。Vector是一个带索引的不可变序列...

阿拉德大陆的魔法师
2016/04/10
1K
0
第十章 Scala 容器(一):整体介绍

整体架构 Scala容器类是非常丰富的,整体架构也比较复杂,下面我们来根据图(10-2)来认识一下。Scala的容器类都是从Traversable和Iterable这两个trait开始的,然后分为三大类,分别是Seq,Set...

阿拉德大陆的魔法师
2016/04/01
403
1
第十章 Scala 容器基础(八):用ArrayBuffer作为你指定的可变序列

问题: 你如何选择一个通用的可变序列在你的Scala应用中。 解决: 正像Vector被推荐作为不可变序列容器的指定类,ArrayBuffer则被推荐作为通用的可变序列容器指定类。(ArrayBuffer是带索引的...

阿拉德大陆的魔法师
2016/04/10
1K
0
Flask 教程 第十九章:Docker容器上的部署

本文转载自:https://www.jianshu.com/p/c29bc412f21a 这是Flask Mega-Tutorial系列的第十九部分,我将在其中部署Microblog到Docker容器平台。 在第十七章中,你了解了传统部署,使用这种部署...

天降攻城狮
02/23
0
0
【原创】《深入剖析Tomcat》读书笔记

第一章 一个简单的Web服务器 第二章 一个简单的servlet容器 第三章 连接器 第四章 Tomcat的默认连接器 第五章 servlet容器 第六章 生命周期 第七章 日志记录器 第八章 载入器 第九章 Sessio...

pandudu
2015/12/22
46
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis面试题详解:哨兵+复制+事务+集群+持久化等

Redis主要有哪些功能? 1.哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 Sentinel...

Java阿七
3分钟前
0
0
响应国家号召 1+X 证书 Web 前端开发考试模拟题

官方QQ群:736413913 1+x证书Web前端开发初级理论考试样题2019 http://blog.zh66.club/index.php/archives/149/ 1+x证书Web前端开发初级实操考试样题2019 http://blog.zh66.club/index.php/...

张帅个人博客
7分钟前
2
0
如何检查一个字符串在Objective-C中是否包含另一个字符串?

如何检查字符串( NSString )是否包含另一个较小的字符串? 我希望有这样的东西: NSString *string = @"hello bla bla";NSLog(@"%d",[string containsSubstring:@"hello"]); 但是我能找到......

javail
24分钟前
2
0
.NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

目 录 1. 概述... 2 2. 演示信息... 2 3. 简单介绍... 3 4. 产品特点... 4 5. 价值体现... 5 1. 概述 经过一段时间的努力,iNeuDA产品组件已经开发和测试完成,现在正式上线。现在iNeuOS工业...

wxzz
26分钟前
2
0
在每个GROUP BY组中选择第一行?

顾名思义,我想选择以GROUP BY分组的每组行的第一行。 具体来说,如果我有一个如下的purchases表: SELECT * FROM purchases; 我的输出: id | customer | total---+----------+------ 1...

技术盛宴
40分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部