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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© android2050 中级黑马   /  2013-3-23 19:30  /  1681 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public Map<String,String> getResult(){
  2.     Map<String,String> map = new HashMap<String,String>();
  3.     map.put("a", "a");
  4.     map.put("b", "b");
  5.     return map;

  6. }
复制代码
Map<String,Object> mapResult = 对象.getResult();//这一行在eclipse中编译可以过去,但是使用ant脚本构建javac的时候会报错,泛型不支持Map<String,String>赋予Map<String,Object>。

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-25 07:10

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
好像不行吧,Map<String,Object>不是Map<String,String>的父类,
好像不能这样赋值。改成Map<String,? extends Object>试试。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
泛型的类型参数存在继承关系,他们表示的泛型类是不存在继承关系的,切记。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
张老师说过,参数的类型不考虑类型参数的继承关系:
如 Vector<String> v = new Vector<Objec>();//错误的

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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