Scala 中 Set 的伴随对象
Companion object for Set in Scala
来自书 'Programming in Scala',这样做:
var jetSet = Set("Boeing", "Airbus")
在 scala.collection.immutable.Set 的伴生对象上调用 'apply',
returns 默认的不可变 Set 实例。
但是没有为同名的 class 定义伴生对象,而且 scala.collection.immutable.Set 是一个特征而不是 class.So 为什么我们有一个特征的伴生对象?
Scala 允许您为特征和 classes 定义伴生对象。
试一试:
trait Foo
object Foo {
def apply(x: Int): Foo = new Foo { }
}
在这个例子中,伴生对象 returns 类型 Foo
的实例实现为扩展特征的匿名 class。
来自书 'Programming in Scala',这样做:
var jetSet = Set("Boeing", "Airbus")
在 scala.collection.immutable.Set 的伴生对象上调用 'apply', returns 默认的不可变 Set 实例。
但是没有为同名的 class 定义伴生对象,而且 scala.collection.immutable.Set 是一个特征而不是 class.So 为什么我们有一个特征的伴生对象?
Scala 允许您为特征和 classes 定义伴生对象。
试一试:
trait Foo
object Foo {
def apply(x: Int): Foo = new Foo { }
}
在这个例子中,伴生对象 returns 类型 Foo
的实例实现为扩展特征的匿名 class。