首页 > 编程语言 > 详细

java泛型

时间:2015-02-19 21:46:57      阅读:331      评论:0      收藏:0      [点我收藏+]

  前几天刷leetcode-majorityElement时碰到一泛型问题,用到的代码如下:

//HashMap<Integer,Integer> hashMap=new HashMap<Integer,Integer>(); 注释为正确写法
HashMap hashMap=new HashMap<Integer,Integer>();
        if (hashMap.containsKey(n) )
                hashMap.put(n,hashMap.get(n)+1);

  报错在第4行,"+"运算符类型错误,hashMap.get(n)为Object型,1为int型

原先我以为由于java的类型擦除,那么第一行可以不用这样声明

HashMap<Integer,Integer> hashMap=new HashMap<Integer,Integer>();

 而事实上若不写HashMap<Integer,Integer>它认为类型声明为为Object,另有一种复杂的解决方法:

hashMap.put(n,(int)hashMap.get(n)+1);

 这是将Object强制转换为int 

 

 

java泛型

原文:http://www.cnblogs.com/yzongyue/p/4296262.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!