【发布时间】:2014-04-13 22:34:56
【问题描述】:
我有一个 Akka Actor,它在其接收方法中具有以下大小写模式匹配检查,如下所示:
def receive = {
case x: (String, ListBuffer[String]) if(x._2.size >= 0) => {
.....
.....
}
当我编译时,我会看到以下编译器警告:
warning: non-variable type argument String in type pattern (String, scala.collection.mutable.ListBuffer[String])
is unchecked since it is eliminated by erasure)
关于如何摆脱它们的任何线索?我不想将编译器设置设置为忽略这些警告,但我没有看到编译器发出警告的原因?
【问题讨论】:
-
Scala 在运行时只能从 x 看到它是一个 Tuple2,所以如果一个 Tuple2 带有不同的类型参数,那可能是一个真正的问题。
标签: scala pattern-matching type-erasure