2016-06-01 5 views
1

Ich habe die folgenden zwei Fallklassen, beachten Sie, dass die zweite Klasse die erste enthält (Benutzerklasse).Kopieren Sie ein Objekt, das ein Feld eines eingeschlossenen Objekts ändert

case class User(sk: Int, 
       userid: String, 
       firstName: String, 
       lastName: String, 
       email: String, 
       notes: String) 

case class UserApplyRequest(action: String, user: User) 

ein Objekt von UserApplyRequest (obj1) Da ich es auf ein anderes Objekt (obj2), sondern ändert nur die notes Feld kopieren müssen.

Die folgende funktioniert nicht:

val obj2 = obj1.copy(user.notes = "new value") 

Wie ein Feld kopieren, die in einem Objekt enthalten ist?

Antwort

4
val obj2 = obj1.copy(user = obj1.user.copy(notes="new value"")) 

der user ist eine verschachtelte case class, können Sie auch kopieren müssen.

Verwandte Themen