scala调用case类的构造函数,除了一个自动的所有字段

Geo*_*ler 1 constructor scala case-class

我很好奇如何调用scala案例类的构造函数,除了一个(自动)之外的所有字段

case class MyClass(a:String, b:Int, c:String)
val myThing = MyClass("a", 1, "b")
Run Code Online (Sandbox Code Playgroud)

MyClass("someOtherValue", myThing.getAllTheValuesExceptOne: _*)我这样的东西还没有用.

vvg*_*vvg 7

您可以使用copy案例类的方法,它允许基于覆盖某些特定字段的其他类创建案例类.

case class MyClass(a:String, b:Int, c:String)
val myThing = MyClass("a", 1, "b")
val myThing2 = myThing.copy(a = "someOtherValue")
Run Code Online (Sandbox Code Playgroud)