有 Java 编程相关的问题?

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

调用该方法的java。如何设置参数?

我有一个程序,我必须从列表中选择一个方法,并使用反射的invoke()调用它的方法

我对每种方法的参数设置都有问题。 正如您在代码中看到的:

Class c = String.class;
Class[] parameterTypes = new Class[] { String.class };
Method concatMethod;
Object[] arguments = new Object[] { secondWord };
try {
concatMethod = c.getMethod(metto, parameterTypes);
result = (String) concatMethod.invoke(firstWord, arguments);
} //some catches (…)

例如,对于simple_方法(设为“toString”),它没有参数。但是,例如“concat”-还有一个额外的字符串

从列表中获取方法的getmetto

Method mets[] = null;
for (Method m : mets) {
                if (m.getDeclaringClass() == actionClass) {
                    String parame = "";
                    Class[] paramTypes = m.getParameterTypes();
                    for (Class c : paramTypes) {
                        if(!parame.equals("")) parame += " , " + c.getName();
                        else parame = c.getName();
                    }

                    String name = m.getName();
                    lista.add(method);
                }
            }

我的问题是如何设置参数类型,以便下次获取字符串或什么也不获取


共 (1) 个答案

  1. # 1 楼答案

    你不必设置参数类型,它们已经存在,不能通过反射来改变,你只需要得到它们。你理解setter方法和getter方法的区别吗