Scala ひと巡り : 事前定義された classOf 関数 (Predefined function classOf)

事前定義された関数 classOf[T]は、 Scala のクラス型 T の実行時表現を返します。次の Scala コード例は、 args パラメータの実行時表現を印字します:

object ClassReprTest { abstract class Bar { type T <: AnyRef def bar(x: T) { println("5: " + x.getClass()) } } def main(args: Array[String]) { println("1: " + args.getClass()) println("2: " + classOf[Array[String]]) new Bar { type T = Array[String] val x: T = args println("3: " + x.getClass()) println("4: " + classOf[T]) }.bar(args) } }

次は Scala プログラムの出力です:

1: class [Ljava.lang.String; 2: class [Ljava.lang.String; 3: class [Ljava.lang.String; 4: class [Ljava.lang.String; 5: class [Ljava.lang.String;