我正在使用Scala与Java的反射API一起工作。但我似乎无法弄清楚如何在Scala中访问Java中的内容:int.class,float.class,boolean.class。
基本上是表示原始数据类型的类对象。
那么什么是int.class的Scala版本?
答案 0 :(得分:15)
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
答案 1 :(得分:14)
int.class,float.class等不存在。等效的盒装类型每个都有一个名为TYPE
的静态字段,表示基本类型。这是你的意思吗?
e.g。 for int / Integer:
http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#TYPE
如果是这样,你就像在Java中一样从Scala引用它:
scala> Integer.TYPE
res0: java.lang.Class[java.lang.Integer] = int