java8通过反射获取方法参数名

Method[] methods = controllerBeanObj.getClass().getDeclaredMethods();
for(Method method : methods){
	if(operate.equals(method.getName())){
	Parameter[] parameters = method.getParameters();
	for (int i = 0; i < parameters.length; i++) {
		Parameter parameter = parameters[i];
		String parameterName = parameter.getName() ;
		String parameterValue = request.getParameter(parameterName);
		String typeName = parameter.getType().getName();
		Object parameterObj = parameterValue ;
		parameterValues[i] = parameterObj ;

	}
}
...

我们在java8中可以通过 Parameter 类获取方法的参数,进而获取参数名,不过java8默认编译时不保留参数符号表,需要手动添加javac的参数:
image
配置过后如果获取的仍然是 arg0,arg1......,手动删除out中的所有输出文件并重新构建项目即可。

posted @ 2022-09-28 11:27  oneQuiz  阅读(642)  评论(0)    收藏  举报