Java 中 HashMap的使用遇到的一样问题,有截图,大家帮我看看···
这是一个从eclipse中参数中输入姓名然后统计每个名字出现次数的程序,使用HashMap类,我疑问的是:第一个红方框中的定义key所映射的value值已经是Intege...
这是一个从eclipse中参数中输入姓名然后统计每个名字出现次数的程序,使用HashMap类,我疑问的是:第一个红方框中的定义key所映射的value值已经是Integer类型了,为什么第二个红框中map.get()前面还要加上强制类型转换?不是已经是Integer类型了吗?
展开
6个回答
展开全部
因为你定义Map的时候没强制定义类型,虽然你args[i]已经确定类型但是当你放到Map中后类型就发生了变化,可以改成Map<Object,Integer> map = new HashMap<Object,Integer>();
这样就行了。
这样就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HashMap<K, V> 这里牵扯到泛型.未指定类型默认Object,
如果HashMap<String, Integer> map=new HashMap()就可以不强转了
如果HashMap<String, Integer> map=new HashMap()就可以不强转了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HashMap<K, V> 这里牵扯到泛型,hashmap你没指定泛型类型,则默认存储类型为Object
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HashMap<String,Integer> map=new HashMap<String,Integer>();这样就不用了,因为你的map.get返回值是Object类,他不会自动给你改成你要的类型,不过你可以用泛型,就不用强制转换了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
map.get()返回最大的父类,object,要强制。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询