猿问

java 中 Method.invoke()问题

当我获取某一个类中的所有方法时,然后遍历数组(Method[] methods),每一个方法的参数类型都不相同,想动态赋值
如:Method.invoke(XXX,100);

Method.invoke(XXX, "yyyy");

潇潇雨雨
浏览 687回答 5
5回答

哈士奇WWW

package cnblogs; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; /** * Created by Kischn on 2015/11/25. */ public class ReflectTest { public static void main(String[] args) { Class<ReflectTest> t = ReflectTest.class; Method[] declaredMethods = t.getMethods(); for(Method method : declaredMethods) { System.out.print(method.getReturnType()); System.out.print(' '); System.out.println(method.getName()); System.out.println("params:"); Type[] genericParameterTypes = method.getGenericParameterTypes(); for (Type type : genericParameterTypes) { System.out.println(type.getTypeName()); } System.out.println("---------------"); } } public void sayHello(String name){ System.out.print("hello" + name); } } void mainparams:java.lang.String[]---------------void sayHelloparams:java.lang.String---------------void waitparams:---------------void waitparams:longint---------------void waitparams:long---------------boolean equalsparams:java.lang.Object---------------class java.lang.String toStringparams:---------------int hashCodeparams:---------------class java.lang.Class getClassparams:---------------void notifyparams:---------------void notifyAllparams:--------------- 题主是要这样的吗?

慕的地6264312

然后呢?

临摹微笑

就是想确定类中方法的入参类型

倚天杖

@zz,: .NET中的反射是可以获取ParameterInfo的,然后就得知参数类型了。我想JAVA中也应该有类似的东西吧。

料青山看我应如是

@Firen: 谢谢您,问题解决了
随时随地看视频慕课网APP

相关分类

Java
我要回答