【发布时间】:2017-01-27 17:14:17
【问题描述】:
我正在尝试了解 Scala 中的类型参数。让我们看下面的一般示例:
def func1[T](a : T) : T = a
我知道 func1 接受任何类型的 1 个参数,并返回相同类型的参数。我不明白的是为什么:
def func1[T]
为什么 [T] 紧跟在 function1 之后?我们可以在func1后面不加[T]简单地写,比如:
def func1(a : T) : T = a
1) func1 后面的 [T] 是什么意思,为什么我们把它放在那里?
2) 为什么我们对类做同样的事情?
class MyClass[T]{...}
我的意思是 MyClass 实例是 MyClass 类型的。 [T] 是什么意思? 你不是说我有一个 MyClass 类型的布尔类,你说我有一个 MyClass 类型的对象对吧?
提前致谢。
【问题讨论】:
-
关于第二点:您可能正在使用您的类,该类是其他类型对象的容器。简单的例子是 List[String]。看起来你的
MyClass可能是专业的......你有时可能有MyClass[String]和其他一些MyClass[Boolean]
标签: scala type-parameter