加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么scala.collection中的traits可以创建实例?

发布时间:2020-12-16 18:05:19 所属栏目:安全 来源:网络整理
导读:我在 Scala中尝试以下代码,它来自 An Overview of the Collections API. import collection._scala Traversable(1,2,3)res5: Traversable[Int] = List(1,3)scala Iterable("x","y","z")res6: Iterable[String] = List(x,y,z)scala Map("x" - 24,"y" - 25,"z"
我在 Scala中尝试以下代码,它来自 An Overview of the Collections API.

import collection._
scala> Traversable(1,2,3)
res5: Traversable[Int] = List(1,3)
scala> Iterable("x","y","z")
res6: Iterable[String] = List(x,y,z)
scala> Map("x" -> 24,"y" -> 25,"z" -> 26)
res7: scala.collection.Map[String,Int] = Map(x -> 24,y -> 25,z -> 26)
scala> SortedSet("hello","world")
res9: scala.collection.SortedSet[String] = TreeSet(hello,world)
scala> IndexedSeq(1.0,2.0)
res11: IndexedSeq[Double] = Vector(1.0,2.0)

结果表明,这些特征都可以调用其apply方法来创建其实现的实例.但在寻找scala.collection.package对象后,我什么也没找到.我认为必须有某个地方将这些特性与其子类绑定并导入到我的程序中.有人可以解释它在哪里吗?

解决方法

您正在调用特征的伴随对象,而不是特征.

例如,Traversable:

> The trait
> The object

如果在伴随对象的scaladoc中单击“应用”,则可以看到Traversable对象从GenericCompanion继承其apply方法,该方法具有指向source的链接,因此您可以看到它是如何实现的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读