我想按照以下方式做一些事情(请注意,我知道这行不通,但我的问题是是否有可能让它发挥作用):
object O {
def main(args: Array[String]) {
val clazzname = classOf[System].getName
val c = Class.forName(clazzname).asInstanceOf[{def currentTimeMillis: Long}]
c.currentTimeMillis
}
}
这可能吗? (不使用反射)
真正的用例是读取序列化的 protobuf 消息。
最佳答案
简而言之:没有
我希望有更好的答案,但正如您已经从邮件列表中看到的那样,这(目前)是不可能的。希望随着 Scala 中原生反射支持的成熟,情况会有所改善。
关于scala - 我可以使用结构类型调用静态 Java 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096893/