为什么类型参数绑定 T <: 可比较 [T] 对于 T = Int 失败?
scala> class Foo[T <: Comparable[T]](val x : T)
defined class Foo
scala> (3: Int).asInstanceOf[Comparable[Int]]
res60: java.lang.Comparable[Int] = 3
scala> new Foo(3)
<console>:13: error: inferred type arguments [Int] do not conform to class Foo's type parameter bounds [T <: java.lang.Comparable[T]]
new Foo(3)
^
第 2 个表达式是类型擦除的结果吗?
我该如何定义 Foo,以便我可以使用 Int 对其进行参数化,但仍然能够使用其实例变量执行一些排序行为?