Scala 集合操作全解析
1. 创建集合时声明类型
在 Scala 里,当你要创建一个混合类型的集合,而 Scala 自动分配的类型并非你想要的类型时,你可以手动声明类型。
比如,若不指定类型,Scala 会自动给列表分配 Double
类型:
scala> val x = List(1, 2.0, 33D, 400L)
x: List[Double] = List(1.0, 2.0, 33.0, 400.0)
要是你希望集合的类型为 AnyVal
或者 Number
,可以在集合声明前的方括号中指定类型:
scala> val x = List[Number](1, 2.0, 33D, 400L)
x: List[java.lang.Number] = List(1, 2.0, 33.0, 400)
scala> val x = List[AnyVal](1, 2.0, 33D, 400L)
x: List[AnyVal] = List(1, 2.0, 33.0, 400)
手动指定类型在列表包含混合类型或者存在多级继承的情况下非常有用。例如,有如下类型层次结构:
trait Animal
trait FurryAnimal extends Animal
case class D