1

使用以下代码:

val clz = 10L.getClass
val ClassTag(clz)

只得到盒装类型:

java.lang.Long

有更好的解决方案吗?或者在scala中是不可能的?

4

2 回答 2

2

是什么让你认为它是盒装的?绝对不是:

scala> ClassTag(10L.getClass).runtimeClass.getName
res15: String = long

 scala> ClassTag(10L.getClass).runtimeClass == java.lang.Long.TYPE
 res17: Boolean = true

 scala> ClassTag(10L.getClass).runtimeClass == new java.lang.Long(10).getClass
 res18: Boolean = false
于 2016-06-11T02:43:30.220 回答
0

不确定是否有一个 Scala 库,但使用 Java 库:

val clz = java.lang.Long.TYPE
于 2016-06-11T01:10:45.000 回答