黑马程序员技术交流社区

标题: 如何通过反射调用一个有多个形参的方法? [打印本页]

作者: evan.zhou    时间: 2016-10-14 20:34
标题: 如何通过反射调用一个有多个形参的方法?
Object java.lang.reflect.Method.invoke(Object obj, Object... args)
第二个参数Object... args啥意思?
比如我要通过反射调用ArrayList的 void add(int index, E element) 方法怎么写?
[Java] 纯文本查看 复制代码
import java.lang.reflect.Method;
import java.util.ArrayList;


public class Exec3 {

        public static void main(String[] args) throws Exception{
                // TODO Auto-generated method stub
                ArrayList<Integer> arraylist=new ArrayList<Integer>();
                String str="i am string";
                Integer i=3;
                Method m1=arraylist.getClass().getMethod("add",Object.class);
                arraylist.add(i);
                m1.invoke(arraylist, i);
                //arraylist.add(str);
                m1.invoke(arraylist, str);
                for(Object o:arraylist){
                        System.out.println(o);
                }
               
                Method m2=arraylist.getClass().getMethod("add",Object.class);
                m2.invoke(arraylist, 5,i);
                m2.invoke(arraylist, 6,str);
                for(Object o:arraylist){
                        System.out.println(o);
                }
        }

}


作者: evan.zhou    时间: 2016-10-26 14:10
顶起啊啊啊,求指导!
作者: evan.zhou    时间: 2016-10-28 10:16
顶起来顶顶起来

作者: 张乐    时间: 2016-10-28 11:27
Object不用解释了,  "..."的意思就是说后边不固定有几个内容可以1个可以2个可以3个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2