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

为什么scala将Seq转换为List?

发布时间:2020-12-16 08:50:11 所属栏目:安全 来源:网络整理
导读:val a:Seq[Integer] = Seq(3,4)a: Seq[Integer] = List(3,4) 如果Seq只是一个特征,为什么编译器/ REPL接受它,并且它的行为与许多其他特征甚至抽象类的行为相同? 解决方法 它没有转换任何东西. Seq是一个特性,你无法真正实例化它,只能将它混合到某个类中. 由
> val a:Seq[Integer] = Seq(3,4)
a: Seq[Integer] = List(3,4)

如果Seq只是一个特征,为什么编译器/ REPL接受它,并且它的行为与许多其他特征甚至抽象类的行为相同?

解决方法

它没有转换任何东西.

Seq是一个特性,你无法真正实例化它,只能将它混合到某个类中.

由于Seq伴侣对象的apply方法必须返回一些具体的类实例(混合在Seq trait中),它返回一个似乎是合理默认值的List.

这可能有用的一种情况是,当你需要一些Seq实例时,却不关心实现,也没有时间查看类型层次结构来找到一个实现Seq的合适类. Seq(3,4)保证给你一些服从Seq合同的东西.

(编辑:李大同)

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

    推荐文章
      热点阅读