我正在使用Scala與Java的反射API一起工作。但我似乎無法弄清楚如何在Scala中訪問Java中的內容:int.class,float.class,boolean.class。如何在Scala中獲得Java的int.class?
基本上代表原始數據類型的類對象。
那麼什麼是Scala版本的int.class?
我正在使用Scala與Java的反射API一起工作。但我似乎無法弄清楚如何在Scala中訪問Java中的內容:int.class,float.class,boolean.class。如何在Scala中獲得Java的int.class?
基本上代表原始數據類型的類對象。
那麼什麼是Scala版本的int.class?
int.class,float.class等不存在。等價盒裝類型每個都有一個名爲TYPE
的靜態字段,它表示原始類型。你是這個意思嗎?
例如對於int /整數:
http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#TYPE
如果是這樣,你從斯卡拉引用它就像你在Java中會:
scala> Integer.TYPE
res0: java.lang.Class[java.lang.Integer] = int
Welcome to Scala version 2.10.0-20120430-094203-cfd037271e (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_25).
Type in expressions to have them evaluated.
Type :help for more information.
scala> classOf[Int]
res0: Class[Int] = int
scala> classOf[Integer]
res1: Class[Integer] = class java.lang.Integer
這是一個更好的答案,因爲它提供了類的原始類型。 – Dragonborn