pmk*_*eld 1 collections types scala list
由于搜索:+不会产生任何结果(谢谢谷歌!)我找不到任何问题的答案:
为什么是:
a :+ b
Run Code Online (Sandbox Code Playgroud)
导致
List[Any]
Run Code Online (Sandbox Code Playgroud)
如果'a'和'b'都是类型的
List[Int]
Run Code Online (Sandbox Code Playgroud)
自己尝试一下,下面不会编译(Scala 2.11.6,Idea14):
object AAA extends App {
val a: List[Int] = List[Int]()
val b: List[Int] = List[Int]()
val x: List[Int] = a :+ b
}
Run Code Online (Sandbox Code Playgroud)
thx提前
:+
将单个元素附加到a List
.所以你要附加一个List[Int]
a List[Int]
,产生类似的东西(if a
和b
are都设置为List(1, 2)
):
List(1, 2, List(1, 2))
Run Code Online (Sandbox Code Playgroud)
斯卡拉计算元素类型(之间最常见的类型Int
),你添加的东西(List[Int]
),这是Any
.
您可能想要连接两个列表:
val x: List[Int] = a ++ b
Run Code Online (Sandbox Code Playgroud)