编程语言
首页 > 编程语言> > 记录JAVA反射获取方法实际参数名称

记录JAVA反射获取方法实际参数名称

作者:互联网

JAVA 通过反射获取方法参数时出现参数名为null情况

Parameter[] parameters = method.getParameters();
Arrays.stream(parameters).forEach(parameter -> {
    System.err.println(parameter.getName());
});

输出:

arg0

arg1

因为获取到的方法参数名称为空 所以返回的就是arg0  arg1

解决方案

需通过javac编译时 添加-paramster参数编译之后才能获取的实际的参数名称

1. 可通过设置 idea settings 里面的 java Compiler  Additional command line parameters:

-parameters

2. 可通过maven打包方式 进行设置

       

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

核心:

<compilerArgs> <arg>-parameters</arg> </compilerArgs>

标签:反射,JAVA,parameters,arg0,arg1,maven,获取,参数
来源: https://blog.csdn.net/weixin_45820245/article/details/120857380