擅长:python、mysql、java
<p>有点像OQ的边案例,但是如果你想为案例类传递一个参数映射,这似乎是可行的:</p>
<pre><code>scala> case class myCC(foo: String = "bar", negInt: Int = -1)
scala> val row = myCC()
scala> println(row)
myCC(bar,-1)
scala> val overrides = Map("foo" -> "baz")
scala> row.getClass.getDeclaredFields foreach { f =>
f.setAccessible(true)
overrides.foreach{case (k,v) => if (k == f.getName) f.set(row, v)}
}
scala> println(row)
myCC(baz,-1)
</code></pre>
<p>(从<a href="https://stackoverflow.com/questions/28458881/scala-how-to-access-a-class-property-dynamically-by-name">Scala: How to access a class property dynamically by name?</a>借来)</p>