是否可以在scala中不是集合的类上使用类型参数(泛型)?

时间:2014-01-31 15:59:38

标签: scala

正如问题所示。甚至考虑非收藏品上的仿制药是否有意义?我一直试图想一想。一个集合实际上只是其他对象的“包装器”,所以必须有一个“包装器”来指导泛型?

感谢

2 个答案:

答案 0 :(得分:1)

是的。作为一个最小的例子,这里有一个包含T类型的类,其中T是通用的:

scala> class Wrapper[T](val x: T)
defined class Wrapper

如果你给它Int,那么它是Wrapper[Int]

scala> new Wrapper(5)
res0: Wrapper[Int] = Wrapper@578ef2b6

如果你给它String,那么它是Wrapper[String]

scala> new Wrapper("this")
res1: Wrapper[String] = Wrapper@3b16bf07

这类似于T类型的项目集合:

scala> Vector(1,2,3)
res2: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3)

答案 1 :(得分:0)

是。它是可能的,它是完美的意义。几乎所有Scala的类型系统都围绕着它们。好吧,他们和“抽象类型”。

要了解详情,您可以from here开始。谷歌搜索“Scala类型参数”也会给你很多有用的结果。