考虑我想反序列化 JSON 字符串的情况:
def deserialize[T](json)
我可以提供我想在编写代码时显式应用函数的类
class Person(name: String)
deserialize[Person]("""{ "name": "Jennie" }""")
但是,如果我需要其他类怎么办,我必须在我的代码中提供它,再次编译。我希望我的程序更灵活,它可以采用一个配置文件,其中包含我要使用的类的名称。因此,当需要一个新类时,我只需要编写类定义,将其构建到另一个 jar 文件中,将其放入类路径中,然后重新启动程序。
val config = ConfigLoader.load("config.txt")
val className = config.getString("class-to-deserialize")
deserialize[<from className to type>](json)
那么,有可能在scala中做到这一点吗?