为什么Int类型的数组的条目初始化为0,但是BigInt类型的数组的条目初始化为null?
val a = new Array[Int](1)
val b = new Array[BigInt](1)
println(a.mkString())
println(b.mkString())
产量
0
null
答案 0 :(得分:5)
根据Int
的scaladoc:
Int的实例不由底层运行时系统中的对象表示。
查看已编译的类文件,它确实显示Int
的数组成为字节码中的int基元数组。并且int原语默认值为0。
0 iconst_1
1 newarray int [10]
3 astore_2 [a]
4 iconst_1
5 anewarray scala.math.BigInt [16]