2012-03-07 20 views
3

あなたはScalaで次の操作を行うことができるという事実は、かなりきちんとしている:Scalaでインスタンス化されていないクラスを参照するにはどうすればよいですか?

scala> class FooBar 
defined class FooBar 

scala> val a = new FooBar 
a: FooBar = [email protected] 

scala> val the_class = a.getClass 
the_class: java.lang.Class[_ <: FooBar] = class FooBar 

scala> val b = the_class.newInstance 
b: FooBar = [email protected] 

は、私が直接the_classの値を設定するとします。私は、正しい型の変数を宣言することができるように表示されます。

scala> var the_class: java.lang.Class[_ <: FooBar] = null 
the_class: java.lang.Class[_ <: FooBar] = null 

しかし、私は任意の値に変数をバインドできるようにするには表示されません。これは可能ですか?

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 
       ^

答えて

5

はもしかして:

val the_class = classOf[FooBar] 
+0

はい!どのように私はこれを逃したのか分からない。ありがとう。 –

関連する問題