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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class Demo7 {
  2. public static void main(String[] args) throws Exception {
  3.         Map<Integer,String> map=new HashMap<Integer,String>();
  4.         map.put(1,"a");
  5.         map.put(2,"b");
  6.        
  7.         Class s=map.getClass();
  8.         Method m=s.getMethod("put",Object.class,Object.class);
  9.         m.invoke(map, "333","c");
  10.         //System.out.println(map.toString());
  11.        
  12.         Set<Map.Entry<Object,String>> set=map.entrySet();

  13. }
  14. }
复制代码

5 个回复

倒序浏览
现在在创建映射对象卡着了
回复 使用道具 举报
你的集合存储的元素是Object和Object ,访问是当然也需要同样的泛型了
回复 使用道具 举报
你的泛型不统一啊
回复 使用道具 举报
:handshake:handshake
回复 使用道具 举报

    1. import java.util.*;
    2. import java.lang.reflect.*;
    3. public class Demo7 {
    4. public static void main(String[] args) throws Exception {
    5.         Map<Integer,String> map=new HashMap<Integer,String>();
    6.         map.put(1,"a");
    7.         map.put(2,"b");
    8.         
    9.         Class s=map.getClass();
    10.         Method m=s.getMethod("put",Object.class,Object.class);
    11.         m.invoke(map, "333","c");
    12.         //System.out.println(map.toString());
    13.         
    14.         //字节码中是没有泛型的,所以你上面中的"333"才能存进去,同样也可以反射获取方法
    15.         Set set=map.entrySet();
    16.         for(Object setElem:set){
    17.                 Map.Entry entry = (Map.Entry)setElem;
    18.                 System.out.println(entry.getKey()+"::"+entry.getValue());
    19.         }

    20. }
    21. }
    复制代码

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