Skip to content

Instantly share code, notes, and snippets.

@arkadijs
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arkadijs/8906043 to your computer and use it in GitHub Desktop.
Save arkadijs/8906043 to your computer and use it in GitHub Desktop.
object Main {
def main(args: Array[String]) {
val date = new Deserializer().deserialize[java.util.Date]("2014-02-15")
val ints = new Deserializer().deserialize2[Int]("[1, 2, 3]")
}
}
class Deserializer {
import scala.reflect.{ ClassTag, Manifest }
def deserialize[T](data: String)(implicit klass: ClassTag[T]): T = {
val instance = klass.runtimeClass.newInstance().asInstanceOf[T]
// deserialization magic
instance
}
def deserialize2[T](data: String)(implicit m: Manifest[T]): Array[T] = {
val arrayOfVals = new Array[T](10)
// deserialization magic
arrayOfVals
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment