黑马程序员技术交流社区
标题:
<已解决>TreeMap中的一个小问题!
[打印本页]
作者:
田建
时间:
2012-6-6 15:07
标题:
<已解决>TreeMap中的一个小问题!
本帖最后由 田建 于 2012-6-8 11:58 编辑
这是获取字符串各字母出现次数的一小段代码:
if(!(chs[x]>='a'&&chs[x]<='z'||chs[x]>='A'&&chs[x]<='Z'))
continue;
Integer value=tm.get(chs[x]);//TreeMap中存放的是键值对,取的值为什么是Integer而不是int呢?
if(value==null)
{
tm.put(chs[x],1);
}
else
{
value=value+1;
tm.put(chs[x],value);
}
复制代码
作者:
罗文杰
时间:
2012-6-6 15:16
本帖最后由 罗文杰 于 2012-6-6 15:17 编辑
你的泛型定义的是Integer,基本类型不能作为泛型的参数化类型,所以不能用8种基本数据类型来定义泛型,其中就有int。所以那里只能用Integer,不能用int。
作者:
张少威
时间:
2012-6-6 15:17
集合中只存放对象,当然取出的也是对象。
往集合中添加int等基本类型时,会被自动装箱成其相应的包装类型,从集合中取出时,取出的就是装箱后的包装类型。
作者:
王渠
时间:
2012-6-6 16:05
就如楼上说的,泛型储存的是对象,所以要定义成整形数据对象,才能储存。
所用会说用的Interger,而不是用的int
作者:
陌花╮有意、
时间:
2012-6-7 09:45
泛型存储的是对象,不能是基本数据类型 会进行自动装箱和拆箱处理的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2