【发布时间】:2013-08-08 21:18:04
【问题描述】:
谁能告诉我如何避免下面代码块中的警告:
abstract class Foo[T <: Bar]{
case class CaseClass[T <: Bar](t: T)
def method1 = {
case CaseClass(t: T) => println(t)
csse _ =>
}
}
这会导致编译器警告:
abstract type pattern T is unchecked since it is eliminated by erasure
case CaseClass(t: T) => println(t)
^
【问题讨论】:
-
第 1 行的
T <: Bar是什么意思? -
这只是表示参数t的类型在T之上。或者换句话说,T是Bar或Bar本身的子类型。
标签: scala