首页 > 学院 > 开发设计 > 正文

java泛型

2019-11-14 23:02:43
字体:
来源:转载
供稿:网友
java泛型

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

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

  报错在第5行,"+"运算符类型错误,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 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表