【发布时间】:2018-07-18 08:12:52
【问题描述】:
我有一个带有选项的案例类:
case class PersonUpdate(name: Option[String], age: Option[Int], country: Option[String])
我需要检查定义了哪些值并生成一个包含其名称和值的映射,例如:
如果我有这个对象:
val perUpdate = PersonUpdate(Option("john"), None, Option("England"))
地图应该是这样的:
val result = Map("people.$.name" -> "john", "people.$.country" -> "England")
以 scala 方式有效地做到这一点的最佳方法是什么?
【问题讨论】:
-
如果您要寻求最佳实践,您真的应该使用
Some("john")而不是Option("john")。Option应该是Some(x)或None。 -
stackoverflow.com/questions/1226555/case-class-to-map-in-scala 查看如何将案例类转换为地图的答案。
-
@VolodymyrGlushak 在这个链接中它只接受定义的字段..
标签: scala