Scala-扩展通用类型参数

时间:2018-08-03 07:00:03

标签: scala generics nested-generics

对不起,如果重复的话。在进行一些基本搜索时遇到了麻烦。

如果我有

trait Container[T] { data: T } 

我正在尝试使用特征扩展Container,以使数据为Traversable [T]。

以下内容可以做到吗?这是什么意思/您将如何阅读?

trait Extension[T] extends Container[Traversable[T]]

1 个答案:

答案 0 :(得分:1)

是的,Extension [T]是一个Container [Traversable [T]],这意味着它只能保存Traversable [T]作为数据。

请注意,您可能要定义Extension[+T]而不是Extension[T](并且也要对Container进行定义)。这将意味着Extension[Cat]Extension[Animal]的子类。