case class Testtt(name:String,age:String)
object TestDay {
def main(args: Array[String]): Unit = {
val map = new mutable.HashMap[String, String]()
map.put("name","小明")
map.put("age","20")
println(createCaseClass[Testtt](map))
}
//将map转为实体的case class
def createCaseClass[T](vals: mutable.HashMap[String, String])(implicit cmf: ClassManifest[T]) = {
val ctor = cmf.erasure.getConstructors.head
val args = cmf.erasure.getDeclaredFields.map(f => vals.getOrElse(f.getName, null))
ctor.newInstance(args: _*).asInstanceOf[T]
}
}