加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

泛型 – 如何确保Scala中的类型参数不同?

发布时间:2020-12-16 18:19:34 所属栏目:安全 来源:网络整理
导读:通过以下定义,可以确保具体类型参数相等: trait WithEqual[T1 : T2 : T2,T2] 所以行 type A = WithEqual[Int,Int] 将是合法的.现在我的问题是:如何实现恰恰相反?因此,以下行不应编译: type B = WithUnequal[Int,Int] 解决方法 这在Scala中非常棘手,你必
通过以下定义,可以确保具体类型参数相等:

trait WithEqual[T1 >: T2 <: T2,T2]

所以行

type A = WithEqual[Int,Int]

将是合法的.现在我的问题是:如何实现恰恰相反?因此,以下行不应编译:

type B = WithUnequal[Int,Int]

解决方法

这在Scala中非常棘手,你必须诉诸于故意模糊.这是这项技术的 example.

马克·哈拉(Mark Harrah)已经在他的操场上推广了类型级别的hackery,Up.

这可能适用于您的问题,但我现在没有时间尝试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读