A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李哲 中级黑马   /  2012-3-20 11:03  /  1449 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

for (int x=0;x<chs.length ;x++ )
                {
                        int count=0;
                        if(!(chs[x]>='a'&&chs[x]<='z'||chs[x]>='A'&&chs[x]<='Z'))
                                continue;
                        Integer value=tm.get(chs[x]);//value是一个对象?把值赋给一个对象?
                        if (value!=null)                       
                                count=value;
                                count++;
                                tm.put(chs[x],count);       
                }

其中
Integer value=tm.get(chs[x]);//value是一个对象?把值赋给一个对象?
的详细转化是怎样的呢?

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

3 个回复

倒序浏览
哦。不好意思。我现在明白了。tm是一个map集合,那么tm.get(chs[x]);的值也是一个对象,对象赋给对象,挺合适的。我看错了。
回复 使用道具 举报
就算是复制 int类型的数据 也是没有错误,这涉及到了自动拆箱的问题   感觉你对这没掌握,这是前两天我回答别人的  你看看吧

Integer a = 1; 自动装箱 是 Integer a =new Integer(1); 这就是自动装箱  
  而Integer a = 1; 是1.5的新特性,a是一个引用。右边的1其实应该看做是一个对象
  a = a+1   先把a自动拆箱  Integer.valueOf(a); 通过Integer类调用它自身的静态方法valueOf()
      把a引用换成a变量  也就是自动拆箱  然后int型a和1相加的和 在通过上面的
          自动装箱最后把对象的地址赋给等号左边的a引用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马