加载中
Scala学习之类和属性篇(一):定义类的主构造方法

在Scala中直接在类名后面跟上参数,即可定义类的主构造方法。 scala> :paste // Entering paste mode (ctrl-D to finish) class Person(var firstName: String, var lastName:String) { ...

2016/12/08 16:06
133
Scala学习之类和属性篇(五):getter和setter方法

Scala会根据你定义属性时候使用的关键字:var,val,private来选择是否自动生成getter和setter方法。并且不允许你重写Scala的setter和getter方法。如果你要重写这两个方法你会看到如下编译错...

第十章 Scala 容器基础(二十四):给集合创建一个懒加载视图

Problem 你正在使用一个巨大的集合,并且想创建一个懒加载的版本。只有在计算或者返回结果时才真正被调用。 Solution 除了Stream类,不论什么时候你创建一个Scala集合类的实例,你都创建了一...

Scala学习之字符串篇(一):字符串的比较

在Scala中你只需要使用==就可以判断字符串相等,而不需要像Java一样需要使用的equals方法来判断。 scala> val s1 = "hello" s1: String = hello scala> val s2 = "hello" s2: String = hel...

第十章 Scala 容器(一):整体介绍

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

Scala学习之类和属性篇(三):单例与私有构造函数

我们知道,要想使用单例那么就必须定义私有构造函数来防止从类的外部来创建类的实例。在Scala中你也可以通过private关键字定义类的私有主构造函数来防止从类的外部创建类的实例。 scala> cla...

2016/12/09 18:01
76
第十章 Scala 容器基础(七):用Vector作为你指定的不可变序列

当你想使用一个不可变,且可用下标访问元素的集合时,Vector是你最好的选择。

2016/04/10 16:44
1K
第十章 Scala 容器基础(五):确定集合类型(范型)

问题:当你使用一个混合类型来创建Scala集合的时候,Scala不会自动的制定你想要的类型。

2016/04/10 12:14
94
Scala学习之字符串篇(四):插值函数

在Scala中使用字符串插值函数,需要再字符串前加上字符"s",然后再字符串中的每个插值变量前加上“$”符号。 scala> val name = "Fred" name: String = Fred scala> val age = 18 age: Int...

2016/12/05 15:09
244
第十章 Scala 容器基础(八):用ArrayBuffer作为你指定的可变序列

当你总是在容器末尾追加新元素,且通过下标访问这个容器,ArrayBuffer非常适合你。如果你准备在容器构造完毕之后,把它转化为一个List,那么你使用ListBuffer吧。

2016/04/10 21:47
828
第十章 Scala 容器基础(十二):使用Iterators

Problem 你需要在你的应用中使用iterator。 Solution 尽管使用带有hasNext()和next()方法的iterator是非常通用的遍历Java集合的方法。但是它们在Scala集合中并不经常被使用。因为Java集合有许...

Scala学习之字符串篇(六):访问字符串特定位置的字符

在Scala中有如下几种方式来访问字符串中特定位置的字符。 scala> "hello".charAt(1) res21: Char = e scala> "hello"(1) res22: Char = e scala> "hello".apply(1) res23: Char = e...

2016/12/08 14:33
101
Scala学习之类和属性篇(六):对象私有成员变量

在Scala中,使用private关键字修饰的成员变量只可以被这个类的实例访问。也就是说,这个类的任意一个实例都可以访问这个类在任意实例中定义的私有成员变量。 下面这个例子中,isHigher方法就...

Scala学习之类和属性篇(二):定义类的辅助构造方法

在Scala中定义主构造函数使用this关键字: 每一个辅助构造函数都需要调用之前定义的任何一个构造函数 每一个辅助构造函数都要有不同的参数表 一个构造函数使用this关键字调用另一个构造函数 ...

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

Problem 你准备使用一个枚举类(一组被命名的值作为常量)在你的应用里。 Solution 继承scala.Enumeration来创建你的枚举类: package com.acme.app {   object Margin extends Enume...

Scala学习之字符串篇(五):逐字符处理字符串

在Scala中我们可以把字符串当成一个字符集合来使用,可以利用集合的一些特性和操作方法来处理字符串中的字符。 常用的字符串集合处理函数包括foreach,map和loop,根据不同的情况选择不同的函...

Scala学习之类和属性篇(四):带有默认值的构造函数

在Scala中允许你给构造函数参数提供一个默认值,那么当你不指定参数值的时候那么构造函数就会使用默认值。 scala> class Socket(val timeout: Int = 10000) defined class Socket scala> v...

2016/12/10 12:01
205
Scala学习之字符串篇(七):使用隐式方法来扩展字符串类

通常情况下我们会把一些共用的字符串处理方法封装到一个工具类中,比如StringUtils类。假定我们实现了一个方法increment,它接收一个字符串,然后把字符串中的每一个字符加1,然后返回新的字...

2016/12/08 15:22
98
Scala学习之字符串篇(二):使用多行字符串

在Scala中我们可以使用三个双引号来创建一个多行的字符串。 scala> val ms = """This is | a multiline | String.""" ms: String = This is a multiline String. 你会发现...

第十章 Scala 容器(二):如何选择一个合适的容器类

上一篇文中,我们介绍了Scala的容器,可能你会被这么多的容器类困扰住,我该如何选择一个合适的容器来用呢。

2016/04/01 18:12
490

没有更多内容

加载失败,请刷新页面

返回顶部
顶部