黑马程序员技术交流社区

标题: 基本数据类型包装类Integer中valueOf和parseInt的区别 [打印本页]

作者: 彭鸿儒    时间: 2016-8-17 20:33
标题: 基本数据类型包装类Integer中valueOf和parseInt的区别
如题,对这两个方法还是有点困惑
作者: talons    时间: 2016-8-17 21:22
从API文档上看:valueOf和parseInt的作用都是取得值装换为整型。但是,valueOf返回值类型是Integer,而parseInt返回的是int 型的。
int 是基本数据类型,返回int型返回的是一个变量,而Integer是int类型的包装类,所以valueOf返回的是一个Integer的对象。
但是由于JDK1.5的新特性之一:自动装箱/拆箱功能。
自动装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类。
自动拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本数据类型。
所以现在这两个方法没什么区别。不过通常还是习惯用parseInt直接装换为int型。
作者: 彭鸿儒    时间: 2016-8-18 13:03
talons 发表于 2016-8-17 21:22
从API文档上看:valueOf和parseInt的作用都是取得值装换为整型。但是,valueOf返回值类型是Integer,而pars ...

原来是这样,谢谢解答
作者: zhoubinjian    时间: 2016-8-19 00:03
.parseInt(str)是把一个数字字符串转化成int类型的数据,valueOf(str or num) 是把一个数字或者一个字符串转化为Integer类型的数据;
作者: 彭鸿儒    时间: 2016-8-19 11:30
zhoubinjian 发表于 2016-8-19 00:03
.parseInt(str)是把一个数字字符串转化成int类型的数据,valueOf(str or num) 是把一个数字或者一个字符串 ...

回答的很清楚,谢谢解答
作者: q554293427    时间: 2016-8-21 01:22
快去问问你们班的陈晓鑫,他那么强,肯定会
作者: suifeng1987    时间: 2016-8-21 02:07
如2楼同学所说,确实这两个方法最大的区别在于返回值类型,valueOf返回一个Integer类的对象,而parseInt返回的是一个int数,从字符串直接转换到int数用的就是parseINT,而从字符串转换到Integer对象还可以直接用
Integer的构造方法,虽然1.5后有自动装拆箱功能,但Integer和int毕竟数据类型不同,Integer的对象还可以再调用方法
作者: lrwillinggerry    时间: 2016-8-21 02:31
Integer.valueOf()是将字符串转化成Integer对象,Integer.parseInt()是将Integer对象转化成int数据类型(基本类型)
作者: 悠悠呦呦    时间: 2016-8-21 07:39
挺棒的     有问题可以多问问导师  他们都是有好多年开发惊艳的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2