重複の可能性:
Scala で型消去を回避するにはどうすればよいですか? または、コレクションの型パラメーターを取得できないのはなぜですか?
次のコードを実行しました。
scala> var s = new Stack()push(1)
s: scalatest.Stack[Int] = 1
scala> s match { case s : Stack[String] => print("Hello")}
<console>:12: warning: non variable type-argument String in type pattern scalatest.Stack[String] is unchecked since it is eliminated by erasure
s match { case s : Stack[String] => print("Hello")
}
Stack はhttp://www.scala-lang.org/node/129から取得したクラスです。このコードを-unchecked
フラグなしで実行すると、「Hello」と出力されます。なぜそうなのですか?