我有一个带有多个参数的类,例如 class Building(val a: Int, val b: Int, val c: Int)
。这段代码我必须更新它是这样的:
def updatedA(a: Int): Building = new Building(a, this.b, this.c)
def updatedB(b: Int): Building = new Building(this.a, b, this.c)
是否有更短的方法来获取如下所示的更新对象?
def updatedA(newA: Int): Building = new { val a = newA } extends this // doesn't compile/ type is AnyRef instead of Building
最佳答案
你看过 copyWith()
construction mechanism 吗?
或者查看案例类的 copy mechanism。
关于scala - 获取更新的不可变对象(immutable对象)的更短方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15790235/