Arrays Scala打印未初始化的数组

Arrays Scala打印未初始化的数组,arrays,scala,Arrays,Scala,打印未初始化的数组会导致数组的大小,这是如何工作的?我正在迭代所有元素,所以我希望它抛出错误(编译或运行时),因为没有要迭代的元素。对我来说,这是最容易出错的代码,但如果这是语言特性,在这种情况下有什么优势吗 val array:Array[Int] = Array(5) array.foreach(x => println(x)) Output : 5 更新: 这是令人困惑的,因为数组(1、2、3)创建了一个包含元素1、2和3的数组,而数组(1)声明了包含元素1的数组。Array(5

打印未初始化的数组会导致数组的大小,这是如何工作的?我正在迭代所有元素,所以我希望它抛出错误(编译或运行时),因为没有要迭代的元素。对我来说,这是最容易出错的代码,但如果这是语言特性,在这种情况下有什么优势吗

val array:Array[Int] = Array(5)
array.foreach(x => println(x))

Output : 5
更新: 这是令人困惑的,因为数组(1、2、3)创建了一个包含元素1、2和3的数组,而数组(1)声明了包含元素1的数组。

Array(5)
不是一个空的5元素数组;它是一个数组,其唯一元素是
5
。您正在打印
5


如果您想创建一个5元素数组,那就是
newarray(5)
。默认情况下,此数组的元素将初始化为
0
,因此该数组将显示
0
5次。

如果您打算创建一个包含5个具有某些默认值的元素的数组,可以执行以下操作:

> Array.fill[Byte](5)(0)
Array(0, 0, 0, 0, 0)

不幸的是,我只能在9分钟内接受答案!我正在学习语言并尝试这些东西,你完全理解了我的意图!