在Scala中::和:::有什么区别?

val list1 = List(1,2) val list2 = List(3,4) 

然后

 list1::list2 returns: List[Any] = List(List(1, 2), 3, 4) list1:::list2 returns: List[Int] = List(1, 2, 3, 4) 

我看到这本书写道,当使用::它也结果List[Int] = List(1, 2, 3, 4) 。 我的Scala版本是2.9。

:: prepends一个单一的项目,而::: prepends一个完整的列表。 所以,如果你把一个List放在::它将被当作一个项目,这将导致一个嵌套的结构。