首页 > 解决方案 > Scala - 扩展通用类型参数

问题描述

抱歉,如果这是重复的。无法通过一些基本搜索找到。

如果我有

trait Container[T] { data: T } 

我试图让一个特征扩展容器,使得数据是一个 Traversable[T]。

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

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

标签: scalagenericsnested-generics

解决方案


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

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


推荐阅读