JAVA 泛型 问题,请各位热心人帮忙,谢谢

msdner 2008-01-23 02:56:38
我需要这样的一个Map:name一律只能为String,而value既可以为String也可以是Map,一直递归下去。

现在,我是这样声明的:
Map<String, Object> map = new HashMap<String, Object>();

开始设值:
map.put("a", "aa");
map.put("b", new HashMap<String, Object>());

以上都没问题,但是,当我要取值时,编译器出现了警告:
(HashMap<String, Object>())map.get("b");
因为这里出现了类型转换,这和泛型的思想是悖的。

对于此,大家有无解决的办法?谢谢。
...全文
194 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
olivesoup 2008-01-23
  • 打赏
  • 举报
回复
我曾经问过这个问题,里面已经讨论的很清楚了,你可以参考一下
http://topic.csdn.net/u/20071213/13/cec88600-5000-4d78-a41f-29fffd411b72.html

引用里面的结论:
研究了一下Collection下的class,竟发现有无数的安全警告,
看来这个问题连编写jdk的sun的技术者也无法解决,只能先这么摆着了。
老紫竹 2008-01-23
  • 打赏
  • 举报
回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧