获取通过反射得到的方法的形参名(jdk8新特性)

348 阅读1分钟

问题描述

通常情况下我们使用反射技术来获取运行时类的方法时,是不知道参数的类型和名称的。 而在一些特定的场景下,我们需要得到参数的名称和类型,比如当我们需要编写MVC架构的中心控制类时,通用的操作需要封装在其中,此时我们调用的组件是不确定的,所以被调用方法所传的实参也是未知的,因此需要获取方法的形参类型和名字,用于匹配前端请求中发送过来的实参。而在默认情况下获取到的形参名时arg[0],arg[1]的形式。

解决方法

image.png

  • 2.

image.png 3. -parameters

image.png 4.把已编译的文件删除

image.png

效果

使得java虚拟机在编译的时候生成的class文件附带方法的形参名字

  1. 举例
Parameter[] parameters = method.getParameters();//获取当前方法的所有形参
for(int i= 0;i<parameters.length;i++){
String parameterName = parameter[i].getName() ;//获取形参的名称
}