首页 文章

Scala中Set的伴随对象

提问于
浏览
1

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

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

在scala.collection.immutable.Set的伴随对象上调用'apply',它返回默认的不可变Set的实例 .

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

1 回答

  • 1

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

    试试吧:

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

    在这个例子中,伴随对象返回一个类型为 Foo 的实例,它实现为一个扩展特征的匿名类 .

相关问题