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")
}
}
但似乎非常繁瑣和複雜,所以我不知道有沒有什麼簡單的方法來做到這一點?