日期:2014-05-20  浏览次数:20702 次

一个hashtable的问题
有一个类A,hash表的key是b,使用put函数put(b,A)把某个对象加入hash表后,
用get(b)得到的类型是object,但是我想得到的类型是A,应该怎么办?
谢谢!


------解决方案--------------------
天啊,强制转型啊
A a = (A)map.get(b);

或者在定义的时候就使用泛型(可以不用考虑这个先)

------解决方案--------------------
(A)hash.get(b)
------解决方案--------------------
天啊,强制转型啊
A a = (A)map.get(b);

或者在定义的时候就使用泛型(可以不用考虑这个先) 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1.5以后优先使用泛型。
------解决方案--------------------
hashmap的get(b)得到的类型是object,想得到的类型是A可以有两种方法。
1、通过强制转型
Map map=new HashMap();
map.put(b,new A());
A a=(A)map.get(b);//这样a就是类型A的了
2、在jdk5.0以上板体中还可以用泛型
Map<Object,A> map=new HashMap<Object,A>();//定义hashmap的key为Object,值为A类型
map.put(b,new A());
A a=map.get(b);//ok!!!
------解决方案--------------------
完了 慢了 送分题。。。

强制类型转换,把Obeject转换成你想要的类型A
A a = (A)map.get(b);