Scala 如何在不使用Java反射API的情况下从HashMap中获取对象?
假设我有一个HashMap:Scala 如何在不使用Java反射API的情况下从HashMap中获取对象?,scala,reflection,Scala,Reflection,假设我有一个HashMap: val userMap = new HashMap[String, String] userMap += "username" -> "user" userMap += "password" -> "pass" 和一个对象: username:String = "" password:String = "" 在不使用Java反射API(带或不带注释)的情况下,将HashMap中的值放入对象的最佳方式是什么 这可能类似于这个问题:由于您不希望反射,因此
val userMap = new HashMap[String, String]
userMap += "username" -> "user"
userMap += "password" -> "pass"
和一个对象:
username:String = ""
password:String = ""
在不使用Java反射API(带或不带注释)的情况下,将HashMap中的值放入对象的最佳方式是什么
这可能类似于这个问题:由于您不希望反射,因此无法自动匹配名称。但是手工操作并不难 给定 我只是
for {
name <- userMap.get("username")
pwd <- userMap.get("password")
} yield new User(name,pwd)
用于{
名称不应该是userMap.get()
?@missingfaktor-确实应该是。现在已修复。
for {
name <- userMap.get("username")
pwd <- userMap.get("password")
} yield new User(name,pwd)