代码之家  ›  专栏  ›  技术社区  ›  Mandroid

Scala中集合的伴生对象

  •  1
  • Mandroid  · 技术社区  · 8 年前

    在《Scala编程》一书中,执行以下操作:

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

    对scala的伴生对象调用“apply”。收集不变的设置 它返回默认的不可变集的实例。

    但不是为具有相同名称和scala的类定义的伴生对象。收集不变的集合是一种特质,而不是一种类别。那么,为什么我们有一个特质的伴侣客体呢?

    1 回复  |  直到 8 年前
        1
  •  1
  •   thesamet    8 年前

    Scala允许您为traits和class定义一个伴生对象。

    试试看:

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

    在本例中,伴随对象返回类型为的实例 Foo 它被实现为扩展trait的匿名类。