黑马程序员技术交流社区

标题: int Value在这里是什么用?? [打印本页]

作者: 闫江龙    时间: 2011-12-17 18:20
标题: int Value在这里是什么用??
本帖最后由 闫江龙 于 2011-12-18 07:55 编辑

Integer a=new Integer("123");
int num=a.intValue():
第一行a已经是123了  第二行在intvalue() 得出的还是123啊? 举这个例子是什么意思?第二句不是废话吗?


作者: 小春同学    时间: 2011-12-17 18:32
第一行a是一个对象,指向123,第二行是把a的值转换为基本数据类型,赋给num,num=123
作者: 祁焱    时间: 2011-12-17 18:38
在Integer a=new Integer("123")中直接输出a,a对象会自动拆箱,取出对象中的数据输出。
而int num=a.intValue():是利用对象的方法取出对象的值。
我的理解是两者在获取值没什么区别,前者可以理解为隐性,后者可以理解成显性调用。

作者: 程传鹏    时间: 2011-12-17 18:39
Integer a=new Integer("123");
int num=a.intValue():
第一行a已经是123了  第二行在intvalue() 得出的还是123啊? 举这个例子是什么意思?第二句不是废话吗?
这里是告诉从a中得到数据值的一种方法,我们打印的时候,默认把Integer的值转换成字符串打印,但是楼主想下,a可以直接赋值给num吗?num跟a根本就不是同一类型的,没办法直接赋值,所以,这句话是有用的,这句话调用了Integer中提供的静态方法来获取a的数据
作者: 马德强    时间: 2011-12-17 18:42
intValue() 是以int 类型返回该 Integer 的值。
int 是基本数据类型,Integer  是对象类型。
也可以这样写:
                Integer i=123;
                int num=i;
自动装箱拆箱。
作者: 闫江龙    时间: 2011-12-17 19:11
谢谢楼上各位 明白了 就是一个是对象一个是数据  其实拿里面的数值来用的话  没什么区别   果然是废话啊




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