指定第一个泛型类型的原因

时间:2017-02-07 19:02:17

标签: scala generics syntax

我对Scala中的泛型函数有疑问。假设我有一个像这样的简单函数(人为的例子):

def subList[A](list:List[A], start:Int, elementCap:Int): List[A] ={

为什么需要第一个[A]?为什么我不能签名

def subList(list:List[A], start:Int, elementCap:Int): List[A] ={

1 个答案:

答案 0 :(得分:2)

因为在编程语言中任何时候引用任何类型的变量,都需要在某处定义它。 A 是一种参数类型,也就是说它类似于变量,但它指的是一种类型。 A不是一个常数,对于某些其他上下文而言是已知的,因此它需要一个定义。

实际调用该方法时,将具体提供实际值。