如何通过Scala / Java方法中的反射获取参数名称和类型?
发布时间:2020-12-16 18:19:50 所属栏目:安全 来源:网络整理
导读:我们可以使用反射来获取方法名称,如下所示: object Foo { def bar(name:String,age:Int) = {} } val foo = Foo.getClassval methods = foo.getMethods.filter(_.getName.startsWith("b"))methods.foreach(m = println(m.getName)) 我现在需要获取参数类型和
我们可以使用反射来获取方法名称,如下所示:
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)) 我现在需要获取参数类型和名称. >参数名称是否存储在字节码中?如果答案是肯定的,如何访问它们? [编辑:] Java版本的解决方案也行. [编辑:]注释似乎是一种方法.但是,Scala注释支持并不是那么好. Related SO question. 解决方法
我没有尝试过,但
http://paranamer.codehaus.org/是专为此任务而设计的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |