Java通过反射获取方法的参数名 idea的设置

之前阿里面试的时候,面试官问我Java通过反射可以获取到一个方法的形参名称吗?

听到这个问题我是懵逼的,之前只知道通过反射可以获取方法名,形参的类型,但是从来没有注意可不可以获取方法形参的名称。在网上查了一些资料之后,知道在jdk1.7之前获取方法中形参的名称的是打印arg0类型。但是在jdk1.8之后,已经做了改动。可以获取到形参的名称。

注意本文的JDK是基于1.8的。1.8版本以下的博主并没有做过测试。

第一步:通过设置 File-->Settings-->Build,Execution,Deployment-->Compiler-->Java Compiler中设置 Addition command paraters:为 -parameters 。

第二步:Build-->Rebuild Project重新build一下project就好了。

 

下面写上我们的测试用例:

想获取类的Class对象,通过该Class对象的getMethods方法获取类中的公有方法(注意代码中定义的getMethods方法获取不到类中定义的私有方法)。然后遍历类中定义的公有方法,取出方法中的参数。在控制台进行打印。

打印的结果如下:

形参名称 a  形参类型 int

在测试代码中,创建了一个Demo类,并且在类中定义了一个get方法,方法中传入了一个int类型的参数a。可以看到,在Jdk1.8中是可以获取到形参的名称。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值