黑马程序员技术交流社区
标题:
关于Map集合反射添加键值对集合怎么访问?
[打印本页]
作者:
突然世界晴
时间:
2015-4-2 16:19
标题:
关于Map集合反射添加键值对集合怎么访问?
public class Demo7 {
public static void main(String[] args) throws Exception {
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1,"a");
map.put(2,"b");
Class s=map.getClass();
Method m=s.getMethod("put",Object.class,Object.class);
m.invoke(map, "333","c");
//System.out.println(map.toString());
Set<Map.Entry<Object,String>> set=map.entrySet();
}
}
复制代码
作者:
突然世界晴
时间:
2015-4-2 16:20
现在在创建映射对象卡着了
作者:
㏒假™面具
时间:
2015-4-2 16:24
你的集合存储的元素是Object和Object ,访问是当然也需要同样的泛型了
作者:
tony_ygz
时间:
2015-4-2 19:54
你的泛型不统一啊
作者:
菜鸟小A
时间:
2015-4-2 21:51
:handshake:handshake
作者:
z47057554
时间:
2015-4-2 23:25
import java.util.*;
import java.lang.reflect.*;
public class Demo7 {
public static void main(String[] args) throws Exception {
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1,"a");
map.put(2,"b");
Class s=map.getClass();
Method m=s.getMethod("put",Object.class,Object.class);
m.invoke(map, "333","c");
//System.out.println(map.toString());
//字节码中是没有泛型的,所以你上面中的"333"才能存进去,同样也可以反射获取方法
Set set=map.entrySet();
for(Object setElem:set){
Map.Entry entry = (Map.Entry)setElem;
System.out.println(entry.getKey()+"::"+entry.getValue());
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2