Java教程

记录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反射获取方法实际参数名称的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!