建立具有某些更改的物件的副本

Case 類提供了一個 copy 方法,該方法建立一個新物件,該物件與舊物件共享相同的欄位,並進行某些更改。

我們可以使用此功能從之前的具有某些相同特徵的物件建立新物件。這個簡單的案例類來演示此功能:

case class Person(firstName: String, lastName: String, grade: String, subject: String)
val putu = Person("Putu", "Kevin", "A1", "Math")
val mark = putu.copy(firstName = "Ketut", lastName = "Mark")
// mark: People = People(Ketut,Mark,A1,Math)

在這個例子中,我們可以看到這兩個物件具有相似的特徵(grade = A1subject = Math),除非在副本中指定了它們(firstNamelastName)。