如果您有一个案例类,例如:
case class Foo(x: String, y: String, z: String)
您有两个实例,例如:
Foo("x1","y1","z1")
Foo("x2","y2","z2")
是否可以将实例 1 合并到实例 2 中,字段 z 除外,这样结果将是:
Foo("x1","y1","z2")
我的用例只是我通过 Scala API 将 JSON 对象提供给 Backbone 应用程序,而 Backbone 应用程序返回给我一个相同结构的 JSON,以便我可以保存/更新它。这些 JSON 对象被解析为案例类,以便于 Scala 操作。但是客户端永远不应该更新某些字段(例如creationDate)。现在我正在进行手动合并,但我想要一个更通用的解决方案,有点像增强的复制功能。
我想要的是这样的:
instanceFromDB.updateWith(instanceFromBackbone, excludeFields = "creationDate" )
但我希望它是类型安全的:)
编辑: 我的案例类有更多字段,除非我明确表示不合并字段,否则我希望默认行为合并字段。