有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用反射在Java8中获得预定义的java方法参数名?

我有一节这样的课

class Test {
    public static HashMap<String, String> aa = new HashMap<String, String>();

    public void add() {
        aa.put("something", "something")
    }
}

我想知道如何获取在添加到HashMap时传递的参数。如果有办法的话


共 (1) 个答案

  1. # 1 楼答案

    我认为您正在询问如何从Hastable类检索put方法

    定义方法参数的类:

    Class[] parametersClasses= new Class[1];
    parametersClasses[0] = Object.class;
    parametersClasses[1] = Object.class;
    

    从指示方法名称及其参数类的类中检索方法:

    Method method = aa.getClass().getMethod("put", parametersClasses);
    

    使用适当的参数调用该方法:

    method.invoke(aa, "ABC", "test");