3
我正在使用Scala 2.10编写一个通用值解析器。 输入是一个字符串,输出是用户给出的通用类型。scala中的通用类型解析器2.10
我能想出的唯一事情是
val StringTYPE = classOf[java.lang.String]
def parseValue[T: ClassTag](str: String): T = {
implicitly[ClassTag[T]].runtimeClass match {
case java.lang.Integer.TYPE => str.toInt.asInstanceOf[T]
case java.lang.Long.TYPE => str.toLong.asInstanceOf[T]
case StringTYPE => str.asInstanceOf[T]
case _ => throw new Exception("Unknown type")
}
}
但似乎非常繁琐和复杂,所以我不知道有没有什么简单的方法来做到这一点?