如何在不引入第三个类型参数的情况下在Scala泛型中请求相同的类
发布时间:2020-12-16 18:33:47 所属栏目:安全 来源:网络整理
导读:现在我的特性有一个额外的类型T除了确保B和R具有相同的泛型类型之外没有其他实际用途. trait GenericBuilder [T:Any,B:Builder [T],R:Result [T]] 为了简化声明,我想知道在保持类型严格性的同时是否有办法消除T. 编辑:我无法控制Builder或Result代码 –
现在我的特性有一个额外的类型T除了确保B和R具有相同的泛型类型之外没有其他实际用途.
trait GenericBuilder [T<:Any,B<:Builder [T],R<:Result [T]] 为了简化声明,我想知道在保持类型严格性的同时是否有办法消除T. 编辑:我无法控制Builder或Result代码 – 它们是从外部的一些java工件中提取的. 解决方法
如果您只是想简化声明的那一部分,您可以将类型移动到成员中,但最后您必须购买更多信息,因为您需要证明类型是相同的:
trait Builder { type T } trait Result { type T } trait GenericBuilder[B <: Builder,R <: Result] { val w: B.T =:= R.T } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Angular4.x学习之路分享【2】--项目的目录结构说明及相关指
- Bootstrap table的一些简单使用总结
- angularjs – 将Silverlight APP转换为HTML5 SPA – 工具和
- shell实例——获取FTP/SFTP远程文件
- 如何使用ScalaQuery只选择一个符合where子句的第一个或最后
- angularjs – 如何在同一页面中运行两个单独的Angular js应
- scala – 将Spark DataSet行值映射到新的哈希列
- scala – 为什么类的第一个参数列表不能是隐式的?
- Docker容器常用操作命令(镜像的上传、下载、导入、导出、创
- angularjs – 使用Angular在输入提交按钮上动态设置文本