黑马程序员技术交流社区

标题: java的反射机制想实现一个功能:遍历一个Map [打印本页]

作者: hello world    时间: 2012-8-7 14:14
标题: java的反射机制想实现一个功能:遍历一个Map
谁的反射机制学的好,给举个例子,怎样通过反射来遍历Map
作者: 余明辉    时间: 2012-8-7 16:26
本帖最后由 余明辉 于 2012-8-7 16:27 编辑

import java.lang.reflect.Method;
import java.util.HashMap;

public class Demo {

        public static void main(String[] args) throws Exception {
               
                //map的字节码
                Class clazz = Class.forName("java.util.HashMap");
               
                //创建map实例
                HashMap instance = (HashMap)clazz.newInstance();
               
                //拿到put方法
                Method putMethod = clazz.getMethod("put", Object.class,Object.class);
               
                //添加
                putMethod.invoke( instance, new Object[]{"a",1} );
                putMethod.invoke( instance, new Object[]{"b",2} );
                putMethod.invoke( instance, new Object[]{"c",3} );
               
                //检查是否添加进去
                System.out.println(instance);
               
                //拿到get方法
                Method getMethod = clazz.getMethod("get", Object.class);
               
                //遍历               
                  System.out.println("a = " + getMethod.invoke(instance , "a"));
                System.out.println("b = " + getMethod.invoke(instance , "c"));
                System.out.println("b = " + getMethod.invoke(instance , "c"));
               
        }

}

试着做了下,不知道你是不是想要这种结果




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