【发布时间】:2014-09-25 10:32:51
【问题描述】:
我有一个具有二维数组作为私有成员的类 - k 行和 n 列(定义矩阵时大小未知)。
我想用一种特殊的方法初始化矩阵:initMatrix,它将设置矩阵中的行数和列数,并将所有数据初始化为0。
我看到了一种通过以下方式初始化多维数组的方法:
private var relationMatrix = Array.ofDim[Float](numOfRows,numOfCols)
但是我怎样才能在没有任何大小的情况下定义它,然后再初始化呢?
【问题讨论】:
-
如果您出于效率原因延迟初始化(例如,可能并不总是使用它),请考虑将其定义为
lazy val。在 Scala 中,最好使您的类不可变,因此不鼓励后期初始化成员。