参数化方法
方法的返回类型可以取决于参数的类型。在这个例子中,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