【发布时间】:2020-10-15 03:15:30
【问题描述】:
假设我有以下代码:
trait Trait[T <: Trait[T]] {
def merge(t: T): T
}
case class A[T <: Trait[T]](t: T, i: Int)
case class B[T <: Trait[T]](t: T, str: String)
有没有一种方法可以定义一种类型来缩写我对 A 类和 B 类的定义?
比如:
type T2 = _ <: Trait[T2] // ???
case class A[T2](t: T2, i: Int)
case class B[T2](t: T2, str: String)
【问题讨论】:
标签: scala generics f-bounded-polymorphism