黑马程序员技术交流社区
标题:
数据类型转换问题
[打印本页]
作者:
李爱霞
时间:
2011-12-30 09:10
标题:
数据类型转换问题
本帖最后由 李爱霞 于 2011-12-30 09:35 编辑
对于数据类型的的intValue(), parserInt(), valueOf()怎么区别 ,在什么情况下可以更好的使用这几个方法。。。。
作者:
海中的游弋草
时间:
2011-12-30 09:16
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;像是这样表示是没有编译错误的
作者:
房宝彬
时间:
2011-12-30 09:33
总的来说,这两种写法的功能是一样的。区别之处,Integer.ValueOf().intValue()
会比Integer.parseInt()多创建一个Integer对象。
实际上,如果你看看java的源代码你就知道了:Integer.ValueOf()就是通过parseInt()
实现的。
如下:
public static Integer valueOf(String s) throws NumberFormatException
{
return new Integer(parseInt(s, 10));
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2