有 Java 编程相关的问题?

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

泛型如何在Java中调用具有任意数量参数和任意数据类型的任何方法

我想创建一个方法,该方法可以使用任何数量的参数和任何数据类型的任何方法

例如,我想动态调用以下所有方法 无效方法1(整数x,整数y) void方法2(整数x,字符串y) 无效方法3(浮动x、长y、字符串z)


我正在使用反射来做到这一点。现在我研究了如何在调用这个动态方法时将参数传递给这些方法。 我走了多远

    MyClass myClass = new MyClass();
    Class<?> c = myclass.getClass();
    Method[] m = c.getMethods();
    int i = 0;
    Object [] obj;   // obj contains values to be passed
    for(Method method : m)
    {
        if("methodX".equals(method.getName()))
        {
            break;
        }
        i++;
    }
    Method myMethod = m[i];
    myMethod.invoke(myClass, obj); //this is not working

如何调用myMethod

调用方法时,我收到错误“参数数量不正确”


共 (1) 个答案

  1. # 1 楼答案

    请尝试myMethod.invoke(subject, obj)subject作为要调用该方法的实例