参数化方法
方法的返回类型可以取决于参数的类型。在这个例子中,x 是参数,A 是 x 的类型,它被称为类型参数。
def f[A](x: A): A = x
f(1) // 1
f("two") // "two"
f[Float](3) // 3.0F
Scala 将使用类型推断来确定返回类型,该类型约束可以在参数上调用哪些方法。因此,必须小心:以下是编译时错误,因为没有为每种类型 A 定义*:
def g[A](x: A): A = 2 * x // Won't compile