【发布时间】:2014-07-08 21:26:37
【问题描述】:
如果我有 Scala 地图
val map = Map("a" -> true,
"b" -> "hello"
"c" -> 5)
有没有办法可以将它转换为一个对象(案例类、常规类、任何东西),这样我就可以像这样访问该字段:
val obj = map.toObj
println(obj.a)
println(obj.b)
不知道提前知道参数是什么?
或者更好的是,它可以是我当前正在使用的类的实例变量吗?
所以我实际上可以拥有
println(a)
println(b)
【问题讨论】:
-
你真的对参数一无所知吗?或者你会得到一组有限的选项之一吗?我不明白你怎么可能不知道参数名称然后期望去
println(a)或obj.a,因为这似乎需要你知道它是a!
标签: scala reflection deserialization scala-collections