使用以下代码:
val clz = 10L.getClass
val ClassTag(clz)
只获得盒装类型:
java.lang.Long
有更好的解决方案吗?或者在scala中是不可能的?
答案 0 :(得分: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
答案 1 :(得分:0)
不确定是否有Scala库,但是使用Java库:
val clz = java.lang.Long.TYPE