当前位置:网站首页>解析方法的参数列表(包含参数名称)

解析方法的参数列表(包含参数名称)

2022-08-10 22:30:00 技术日志

话不多说,直接上Demo:

public class User {

    public static void main(String[] args) throws NoSuchMethodException {
        getMethodParams(User.class,"main",null);
    }

    /**
     * 解析方法参数列表:
     * @param clazz: 全限定类名
     * @param methodName: 方法名
     * @param agrCount: n个参数的方法; 为空,则排除此条件;
     */
    public static void getMethodParams(Class clazz, String methodName, Integer agrCount) {
        //获取指定方法:
        Method method = Arrays.stream(clazz.getMethods())
                .filter((x) -> {
                    return methodName.equals(x.getName()) && (Objects.isNull(agrCount) || agrCount.equals(x.getParameterCount()));
                })
                .findFirst()
                .orElse(null);

        //获取参数信息:
        if (Objects.nonNull(method)) {
            for (Parameter parameter : method.getParameters()) {
                System.out.println("参数类型: " + parameter.getType());
                System.out.println("参数名称: " + parameter.getName());
                System.out.println("===============================");
            }
        }
    }
}

测试结果:

 

原网站

版权声明
本文为[技术日志]所创,转载请带上原文链接,感谢
https://blog.csdn.net/luan666/article/details/126227057