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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李爱霞 黑马帝   /  2011-12-30 09:10  /  1618 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李爱霞 于 2011-12-30 09:35 编辑

对于数据类型的的intValue(), parserInt(), valueOf()怎么区别 ,在什么情况下可以更好的使用这几个方法。。。。

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

2 个回复

倒序浏览
static int parseInt(String s)
          将字符串参数作为有符号的十进制整数进行分析。
static Integer valueOf(int i)
          返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)
          返回保持指定的 String 的值的 Integer 对象。

从返回值可以看出他们的区别   parseInt()返回的是基本类型int
而valueOf()返回的是包装类Integer  Integer是可以使用对象方法的  而int类型就不能和Object类型进行互相转换

int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan); 为什么你的程序返回值都可以用int来接收呢?  因为Integer和int可以自动转换
Integer i = 5;   int k  = i;像是这样表示是没有编译错误的

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
总的来说,这两种写法的功能是一样的。区别之处,Integer.ValueOf().intValue()   

会比Integer.parseInt()多创建一个Integer对象。   

实际上,如果你看看java的源代码你就知道了:Integer.ValueOf()就是通过parseInt()   

实现的。   

  如下:   

          public   static   Integer   valueOf(String   s)   throws   NumberFormatException   

          {   

                 return   new   Integer(parseInt(s,   10));   

          }   

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

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