5

scala 2.10 を使用して、文字列からクラスをインスタンス化しようとしていますが、その型タグを取得したいと考えています。

例えば ​​:

scala> def printClassName[Y: TypeTag](x: Y) = { println(typeTag[Y].tpe) }
printClassName: [Y](x: Y)(implicit evidence$1: reflect.runtime.universe.TypeTag[Y])Unit

これは機能しています:

scala> printClassName(new String())
String

しかし、これはそうではありません:

scala> var foo = Class.forName("java.lang.String")
myInstance: Class[_] = class java.lang.String

scala> printClassName(foo)
java.lang.Class[?0]

scala で実行時に Java 消去を克服する方法はありますか?

4

1 に答える 1