我有一个带有多个参数的类,例如 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/

10-10 11:44