您可以在 Scala 中执行以下操作这一事实非常巧妙:
scala> class FooBar
defined class FooBar
scala> val a = new FooBar
a: FooBar = FooBar@7efeedca
scala> val the_class = a.getClass
the_class: java.lang.Class[_ <: FooBar] = class FooBar
scala> val b = the_class.newInstance
b: FooBar = FooBar@1ef1df56
假设我想直接设置the_class
的值。我似乎能够声明正确类型的变量:
scala> var the_class: java.lang.Class[_ <: FooBar] = null
the_class: java.lang.Class[_ <: FooBar] = null
但我似乎无法将变量绑定(bind)到任何值。这可能吗?
scala> the_class = class FooBar
<console>:1: error: illegal start of simple expression
the_class = class FooBar
^
scala> the_class = FooBar
<console>:9: error: not found: value FooBar
the_class = FooBar
^
最佳答案
你的意思是:
val the_class = classOf[FooBar]
关于class - 我如何在 Scala 中引用未实例化的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608329/