scala - 我可以使用结构类型调用静态 Java 方法吗?

标签 scala

我想按照以下方式做一些事情(请注意,我知道这行不通,但我的问题是是否有可能让它发挥作用):

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/

相关文章:

scala - 为什么 scalaz 的 Monoid for Option 实现对 f2 函数求值两次?

serialization - 如何防止 -Xcheckinit 干扰 Scala 对象的反序列化?

java - 填充两个 CubicCurve2D.Float 和一条线内的区域

scala - scala 中的所有子包使用相同的包文件

未找到 scalacheck/scalatest : how to add it in sbt/scala?

mysql - 无法使用 scala、play、slick 连接到远程 MySQL

scala - 如何在 Scala Spark 项目中使用 PySpark UDF?

json - 为 JSON 集类型定义 `Reads`

regex - 使用正则表达式检测和转换字符串中的数字

scala - Apache Spark 如何将列表/数组中的新列追加到 Spark 数据帧