各位高手:一个多参数,多参数类型的类怎么反射。望快点得到回复

public String methodCompareToMoreWithTwo(List request, Object object, Object method, Object methodResum) {
}

有个方法是这样的。

我想反射它。应该怎么写。小弟基础较差,研究很久未果。

我知道是方法名,你这种命名习惯让我头疼
我问的是你返回的是什么,返回的类型,和你传入方法的类型是不是一致的

如果是list,命名的时候,最好是这样 xxxList
get(0)你不是从数组中拿出一个元素吗?难道是二维数组?
下面传入的明明是list,能匹配吗

instanof 做类型判断是不是个办法? 问题是一般使用在基本类型上
你带进来的类是自定义的话. 我也没弄过了

[code="java"]import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

public class T {
public String methodCompareToMoreWithTwo(List request, Object object, Object method, Object methodResum) {
return "Haha";
}

public static void main(String[] args) {
    try {
        Class<?> c = Class.forName("T");
        Object instance = c.newInstance();
        Method method = c.getMethod("methodCompareToMoreWithTwo", List.class, Object.class, Object.class, Object.class);
        Object res = method.invoke(instance, new ArrayList(), null, null, null);
        System.out.println(res);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}
[/code]

你的写法没问题,
这一句
Class<?> c = Class.forName("T");

改成全路径就可以正常运行了

如果你不想用object可以强转
T instance = (T)c.newInstance();

reflection.invokeMethod(methodWay, [color=red]request.get(0), [/color]new Object[]{request, object, method, methodResum});

public String methodCompareCommon([color=red]List [/color]request, Object object, Object method, Object methodResum) {

}

一个是数组,一个是数组中的一个元素,当然有问题