提取scala案例类字段

时间:2016-05-27 15:14:33

标签: scala reflection

鉴于以下课程:
case class Test(id: Long, name: String) { val details = Map("size" -> 54) }

如何在不实例化类的情况下提取details?我知道如何使用Scala反射提取idname,但无法弄清楚如何提取我需要的内容。

1 个答案:

答案 0 :(得分:2)

Scala中没有静态成员。相反,当您拥有应该从任意代码静态获得的数据而不实例化封闭类时,我们通常会使用该数据定义object

object Test {
  val Details = Map("size" -> 54)
}
case class Test(id: Long, name: String) {
  val details = Test.Details
}

注意文字Details的情况 - 与Java不同,Scala中有一个约定,用于在CamelCase中命名常量,以大写字母开头。