欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java通过反射获取方法的参数名,Idea/Eclipse/Maven的配置

程序员文章站 2022-05-12 16:33:26
...

1,在8以前的jdk版本中,我们利用反射只能获取到参数类型,然后参数名字都是利用arg0,arg1,arg2......要想获得参数名,得加上注解,如下:

public User getUser(@Param("groupid") String groupid, @Param("userid") String userid) {
    ...
}

2,而jdk8开始开辟了这项function,但是我们正常情况下使用jvm不会默认保留参数名字,因为这个可能导致class文件过大或其他问题,所以我们如果需要可以自行开启。

a)下面说下idea怎么开启parameters。

1)File->Settings->Build,Execution,Deployment->Compiler->Java Compiler

2)在 Additional command line parameters: 后面填上 -parameters,如下图

3)填好后,再将项目重新build一下,Build->Rebuild Project。

java通过反射获取方法的参数名,Idea/Eclipse/Maven的配置

b)在Eclipse中开启的方法

Preferences->java->Compiler下勾选Store information about method parameters选项。

这样在使用eclipse编译java文件的时候就会将参数名称编译到class文件中。

c)在Maven项目中开启的方法

在pom.xml的编译插件中增加参数配置<arg>-parameters</arg>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.3</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArgs>
            <arg>-parameters</arg>
        </compilerArgs>
    </configuration>
</plugin>

ps:maven项目中开启的方法很实用,我就是这个问题,找了好久最后解决了,哈哈。。。

参考:http://www.mamicode.com/info-detail-2162647.html

          https://blog.csdn.net/baidu_32492845/article/details/79712141