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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘士林 中级黑马   /  2012-10-25 20:03  /  1933 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师视频中有一个获取字符出现的次数的代码,有一处不明白,请哪位高手指点:
public static String charCount(String str)
{
     char[] ch=str.toCharArray();
     TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();
     int count=0;
     for(int x=0;x<ch.length;x++)
     {
           if(!(ch[x]>='a'&&ch[x]<='z'||ch[x]>='A'&&ch[x]<='Z'))
         {
              continue;
              Integer value=tm.get(ch[x])
              if(!(value==null))
                  count=value;     //count是int型变量,而value是Integer型,怎么能把value赋给count呢?
              count++;
              tm.put(ch[x],count);//集合中存入的都是对象,但count是int型,不是对象,怎么能存呢?
             count=0;
            
         }
      }
}
如果不同数据类型的变量之间可以赋值,那是怎么转换的?

4 个回复

倒序浏览
Integer是对象级别,而int是基本数据类型,两者可自动转换,即java自动装箱和拆箱机制
回复 使用道具 举报
首先是int是一个基础类型,而Integer是一个类。
在Java中,如果把int变成integer的话,那么编译系统会生成一个Integer的对象,并把int的值赋给这个对象;
如果把Integer转换成int的话,那么Integer类的对象会自动调用intValue()这个函数,把里面的值赋给int的一个基础类型的变量。
不知道对你是否有帮助……
回复 使用道具 举报
刘丽娜 发表于 2012-10-25 20:50
首先是int是一个基础类型,而Integer是一个类。
在Java中,如果把int变成integer的话,那么编译系统会生成 ...

简单明了!不知你是怎么知道这些东西的,可否指点一二?
回复 使用道具 举报
刘丽娜 发表于 2012-10-25 20:50
首先是int是一个基础类型,而Integer是一个类。
在Java中,如果把int变成integer的话,那么编译系统会生成 ...
简单明了!不知你是怎么知道这些东西的,可否指点一二?

看视频 问朋友 上网查 等等  渠道很多的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马