8

我正在使用 Scala 使用 Java 的反射 API 做一些工作。但我似乎无法弄清楚如何在 Scala 中访问 Java 中的内容:int.class、float.class、boolean.class。

基本上是代表原始数据类型的类对象。

那么 int.class 的 Scala 版本是什么?

4

2 回答 2

15

int.class、float.class 等不存在。等效的盒装类型每个都有一个名为的静态字段TYPE,它表示原始类型。你是这个意思吗?

例如对于 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
于 2012-05-02T04:15:15.293 回答
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
于 2012-05-02T08:35:49.827 回答