scala - Scala - 扩展通用类型参数
问题描述
抱歉,如果这是重复的。无法通过一些基本搜索找到。
如果我有
trait Container[T] { data: T }
我试图让一个特征扩展容器,使得数据是一个 Traversable[T]。
以下内容会这样做吗?这是什么意思/您将如何阅读?
trait Extension[T] extends Container[Traversable[T]]
解决方案
是的,Extension[T] 是一个 Container[Traversable[T]],这意味着它只能将 Traversable[T] 作为数据保存。
请注意,您可能想要定义Extension[+T]
而不是Extension[T]
(并且也这样做Container
)。这将意味着Extension[Cat]
是 的子类Extension[Animal]
。
推荐阅读
- amazon-web-services - 如何创建负载均衡器来监听端口 22
- java - 为什么 I/o 异常必须使用 Buffered Reader 处理,而 Scanner 不是强制性的?
- flutter - Flutter中如何获取公网IP?
- swift - 未捕获的 Kotlin 异常:kotlin.native.IncorrectDereferenceException:非法尝试访问非共享
- amazon-web-services - CloudFormation 置放群组分区计数
- prestashop-1.7 - Prestashop 无法建立数据库链接:SQLSTATE[HY000] [1226]
- java - 为自动化框架存储 excel 表数据的最佳方法
- powershell - PowerShell 使用 WinSCP 从通配符子目录中列出远程 SFTP 服务器中的文件
- spring-boot - Spring Boot 微服务在生产环境中的部署
- if-statement - 为字典中的值编写 if 语句