解决反射无法获取方法的真实参数名(idea中设置java虚拟机编译java类时不清除方法的参数名)
idea中设置java虚拟机编译java类时不清除方法的参数名一、前言二、解决方案三、这样设置的好处和坏处四、最后的话一、前言我们在通过反射来获取方法的真实参数名时,默认是获取不到的,这是因为,java虚拟机在编译java文件时,默认会清除参数名。不过我们可以通过 idea 来手动修改这一规则。二、解决方案首先点击 Settings —> Build,Execution,Deployment
·
idea中设置java虚拟机编译java类时不清除方法的参数名
一、前言
我们在通过反射来获取方法的真实参数名时,默认是获取不到的,这是因为,java虚拟机在编译java文件时,默认会清除参数名。不过我们可以通过 idea 来手动修改这一规则。
二、解决方案
-
首先点击 Settings —> Build,Execution,Deployment —> Compiler —> Java Compiler
-
然后找到 Additional command line parameters,在里面添加以下参数:
-parameters
- 具体可按照下所所示来进行设置
设置完成后,重启idea即可生效
三、这样设置的好处和坏处
- 好处是我们可以通过反射来动态的获取到方法中的真实的方法形参名,这在 Spring 底层也有体现
- 坏处是会增大编译后的.class文件的体积
四、最后的话
希望这篇文章对大家有所帮助,如果对你有帮助,请不要忘了点赞加关注。
更多推荐
已为社区贡献6条内容
所有评论(0)