我正在尝试编写一个函数,该函数返回一个包含类的字段和类型的映射。
函数调用就像
val map: Map[String, Any] = getFields(classOf[User])
函数看起来像:
def getFields[A](cls: Class[A]): Map[String, Any] = {
var map: Map[String, Any] = Map()
for (field <- classOf[cls].getDeclaredFields()) {
field.getName match {
case "id" => {}
case _ => map += (field.getName() -> field.getType)
}
}
println(map)
map
}
,但我在classOf[cls]
(not found: type cls)处遇到错误。我怎样才能得到这样的类的字段?Map[String, Any]
另外,作为返回类型,当我想在之后匹配字段类型时,是否有比 , 更好的解决方案?