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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题,int num=5 ;
          String s = num+"";
          Integer.parseInt(s)是多少啊?还是5吗?怎么算的?

评分

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

查看全部评分

8 个回复

正序浏览
必须是5.
回复 使用道具 举报
万正 黑马帝 2012-3-25 19:21:23
8#
zhouxp3323 发表于 2012-3-25 19:13
你的意思是说,int num=5;String s= num+""; 相当于是等于String s="5";

对的,你可以看下张孝祥老师的视频http://dl.dbank.com/c0wik0ze7s,第11个自动装箱拆箱的
回复 使用道具 举报
万正 发表于 2012-3-25 15:11
String s = num+""; 把int类型的5转换成字符串"5”
Integer.parseInt(s)又把字符串"5”转换成int类型的5。 ...

你的意思是说,int num=5;String s= num+""; 相当于是等于String s="5";
回复 使用道具 举报
吴超 发表于 2012-3-25 16:28
int num=5;
String s=sum+““//吧int的转换为字符类型的,输出结果依旧是5,只不过类型不同而已 ...

就是说把5加上空格转成int型的还是5,那个空格没了?
回复 使用道具 举报
本帖最后由 吴超 于 2012-3-25 20:55 编辑

楼上正解
回复 使用道具 举报
本帖最后由 了无尘 于 2012-3-25 15:39 编辑

肯定是5,下边是我自己实现的parseInt方法,你可以看下
  1. public class asda
  2. {
  3.        
  4.         public static void main(String[] args)
  5.         {
  6.        
  7.                 int num = -5026466;
  8.                 String s = num + "";
  9.                 System.out.println(parseInt(s));
  10.         }
  11.        
  12.         public static int parseInt(String s)
  13.         {
  14.                 char[] chars = s.toCharArray();
  15.                 int temp = 1;
  16.                 int num = 0;
  17.                 for(int i = chars.length - 1; i >= 0; i--,temp*=10)
  18.                 {
  19.                         if(chars[i] == '-')
  20.                         {
  21.                                 num = -num;
  22.                                 break;
  23.                         }
  24.                         num += ((chars[i]-48) * temp);
  25.                         System.out.println(num);
  26.                 }
  27.                 return num;
  28.         }
  29. }
复制代码
  1. 6
  2. 66
  3. 466
  4. 6466
  5. 26466
  6. 26466
  7. 5026466
  8. -5026466
复制代码
原理就不说了,我表达能力差,我估计你看上边的输出应该也看看明白了
中间如果碰到0的话,打印过程会有点不一样的地方,不过没关系不影响最后的目的

至于api的实现,那个没看懂。。。。

评分

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

查看全部评分

回复 使用道具 举报
很明显 是5啊  
难道有不同的答案??
回复 使用道具 举报
String s = num+""; 把int类型的5转换成字符串"5”
Integer.parseInt(s)又把字符串"5”转换成int类型的5。
Integer.parseInt(s)的返回类型是int,这些可以查api看。

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马