我想知道一个泛型类的名称。
我现在使用的解决方案如下。我定义了class A[T: ClassTag] {...}
能够做的类classTag[T].toString
。
这可以编译,但 Guice 存在问题。我得到错误No implementation for scala.reflect.ClassTag<com.test.Person> was bound
。
有没有 :
- 知道可以与 Guice 一起使用的泛型类的名称的另一种解决方案?或者
- 一种
ClassTag[T]
与 Guice 绑定的方法?
完整代码:
package com.test
case class Person(age: Int)
class A[T: ClassTag] {
// I need to know the (full) name of type T (e.g. com.test.Person)
val tClassName = classTag[T].toString
}
class B @Inject()(a: A[Person]) {
}