5

我需要在我的一个 scala 文件中获取方法的参数名称。我知道,通过使用-parameter编译器选项,我可以在 Java 中完成这项工作。但是,我无法在 scala 中执行此操作,因为我在 scalac 中找不到 -parameter 选项。

我怎样才能做到这一点?我在 SO 中看到了这个答案,但这是一个旧答案。在 scala(2.11) 中是否不可能,因为此选项仅在 java8 中提供?有什么破解方法吗?

编辑:(添加示例scala代码)

class ReflectionTest {
  def method(name: String, id: Long, desc: String) = {
    println("Inside the method");
  }
}

我正在尝试读取ReflectionTest类的方法参数method()

object Test extends App {
  val methods= Class.forName("com.reflection.ReflectionTest").getMethods
  methods filter(_.getName == "method") map { method =>
    val param = method.getParameters
    param.map {p =>
      println("Method : "+method.getName+" , Parameter : "+p.getName)
    }
  }
}

斯卡拉版本:2.11.2

JDK版本:1.8

SBT 版本:0.13.1

4

0 回答 0