java泛型的问题 一个泛型类 如果要实例化他 肯定是这样创建对象 Class<Object> c = new Class<Object>

但是HashMap<K,V>这个类也是泛型类为什么这样实例化他也不会报错Mapm=newHashMap();.m.put("a","aaa");m是个泛型类的对象不是应该... 但是 HashMap<K,V> 这个类也是泛型类 为什么这样实例化他也不会报错
Map m=new HashMap();.
m.put("a", "aaa");
m是个泛型类的对象
不是应该这样实例化吗
Map<String,Object> map=new HashMap<String,Object>();
不是当声明或者实例化一个泛型的对象时,必须指定类型参数的值吗
展开
 我来答
yujmh
推荐于2016-04-24 · TA获得超过772个赞
知道小有建树答主
回答量:427
采纳率:33%
帮助的人:321万
展开全部
虽然是泛型的,但你也可以不指定具体的类型,如果你不指定具体类型,默认可以使用任何类型(但基本类型除外),只不过不指定具体类型,会造成数据不一致性,因此在开发时为了便于数据的操作,通常指定具体类型。
追问
嗯 谢谢 懂了一点了 那要像这样Map m=new HashMap();. 我没指定具体类型 那我m.put("a", "aaa");的时候是不是自动的K和V就成了String类型了
追答
嗯,对啊,这是java的一种隐式转换机制。。不过如果指定了具体类型的话,效率会提高很多,让代码易于管理。。
jiangheart0
2013-04-30
知道答主
回答量:55
采纳率:0%
帮助的人:22.3万
展开全部
map的键值都是Object的,即使声明了泛型可能还是需要类型转换
追问
你完全没搞懂我的意思 创建一个泛型类的对象可以不用类型参数直接Map m=new HashMap();.这样创建吗   不是当声明或者实例化一个泛型的对象时,必须指定类型参数的值:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式