A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

谁的反射机制学的好,给举个例子,怎样通过反射来遍历Map

1 个回复

倒序浏览
本帖最后由 余明辉 于 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"));
               
        }

}

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

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马