我正在构建一个Matrix类,并希望能够将Number
存储在二维数组中。
var data: Array<Array<Number>> = Array(width, {Array(height, {0})})
这不起作用,因为Array<Number>
和Array<Int>
是不变的。
我可以使用Array<Array<out Number>>
使其工作,但Matrix将是不可变的,我不希望这样......
转换{0 as Int}
会使编译器错误消失,但这似乎不是一个好主意。我也想做像添加这样的事情,我注意到无法添加Number
s:
var n: Number = 1
n + 1 // does not work
那么我怎么能解决这个问题呢?为什么我不能添加两个Number
s?