0
我在網上當然看到這個class
定義,我走:更新一個字段聲明爲VAL
class Img(val width: Int, val height: Int, private val data: Array[Int]) {
def this(w: Int, h: Int) = this(w, h, new Array(w * h))
def apply(x: Int, y: Int): Int = data(y * width + x)
def update(x: Int, y: Int, c: Int): Unit = data(y * width + x) = c
}
我很困惑。我們如何更新data
這樣的data(y * width + x) = c
即使它被宣佈爲val
?
這是一個更廣泛使用的模式?
它有點像Java中的final int [10]數據。你不能改變參考,但如果它是可變的,在這種情況下它可以是內容。 –