【问题标题】:Companion object for Set in ScalaScala 中 Set 的伴侣对象
【发布时间】:2018-01-09 14:53:50
【问题描述】:

从“Scala 编程”一书中,这样做:

var jetSet = Set("Boeing", "Airbus")

在 scala.collection.immutable.Set 的伴随对象上调用“应用”, 它返回一个默认的、不可变的 Set 的实例。

但是没有为同名的类定义伴生对象,而 scala.collection.immutable.Set 是一个特征而不是一个类。那么为什么我们有一个特征的伴生对象呢?

【问题讨论】:

    标签: scala set companion-object


    【解决方案1】:

    Scala 允许您为特征和类定义伴随对象。

    试试看:

    trait Foo
    
    object Foo {
        def apply(x: Int): Foo = new Foo { }
    }
    

    在这个例子中,伴生对象返回一个类型为 Foo 的实例,该实例被实现为扩展特征的匿名类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多