我们可以使用反射来获取方法名称,如下所示:
object Foo { def bar(name:String, age:Int) = {} }
val foo = Foo.getClass
val methods = foo.getMethods.filter(_.getName.startsWith("b"))
methods.foreach(m => println(m.getName))
Run Code Online (Sandbox Code Playgroud)
我现在需要获取参数类型和名称.
String和/或Array[String]类型参数的函数感兴趣.[编辑:] Java版本的解决方案也行.
[编辑:]注释似乎是一种方法.但是,Scala注释支持并不是那么好.相关的问题.
是否可以通过名称用字符串设置函数的参数.
例如:
给定:
def foo(a: String, b: String)
Run Code Online (Sandbox Code Playgroud)
我可以使用Map来动态调用此函数吗?
Map(("a", "bla"), ("b", "blub"))
Run Code Online (Sandbox Code Playgroud)
?
如果是这样,怎么样?
谢谢!