调用该方法的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 楼答案
你不必设置参数类型,它们已经存在,不能通过反射来改变,你只需要得到它们。你理解setter方法和getter方法的区别吗