有一种方法可以按名称获取类,例如Class.forName("com.project.model.User")
。
是否可以从字符串表示中获取清单?例如,有两种情况:
从没有类型参数的类型名称获取清单 - 它可以工作:
val str = "com.project.model.User"
val mf = Manifest.classType(Class.forName(str))
如何从type-name获取带有类型参数的清单:
val str = "com.project.model.Event[User]"
val mf: Manifest[Event[User]] = howToGetManifestByName(str) // ???
环境:scala-2.11.8
答案 0 :(得分:2)
您可以使用ManifestFactory.classType(cls)
获取类实例的清单。
import scala.reflect.ManifestFactory
class MyClass(str: String)
val c = Class.forName("MyClass")
val manifest = ManifestFactory.classType(c)