黑马程序员技术交流社区
标题:
一个小疑问?
[打印本页]
作者:
李月
时间:
2012-5-7 11:42
标题:
一个小疑问?
int 与 Integer的不同之处与相同之处?
以前我一直以为它两是一样的。毕老师说是不一样的。
作者:
郭振
时间:
2012-5-7 11:46
int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况
作者:
蒋映辉
时间:
2012-5-7 11:48
int是基本数据类型 Integer是java.lang.Object-java.lang.Number-java.lang.Integer 下的一个类
相同点 都可以表示一个整数 不同点 Integer还提供了很多操作这个数的方法
作者:
谭景宾
时间:
2012-5-7 11:51
int是JAVA的一个基本类型,而Integer是JAVA的一个类,对应 int。因为在某些地方不可以用int而要用Integer。而且基本类型运算的速度也要快。
int 是变量的基本类型
Integer 是int的外覆类型
“基本类型有所谓的‘外覆类(wrapper classes)’如果你想在heap内产生用以代表该基本类型的非原始对象(nonprimitive object),那么外覆类型就可派上用场。”
引自《Thinking in Java》
注意:
1、int和Integer都可以表示某一个数值;
2. int和Integer不能够互用,因为他们两种不同的数据类型;
作者:
廖理
时间:
2012-5-7 12:00
本帖最后由 廖理 于 2012-5-7 12:02 编辑
int类型是基本数据类型,存储在Stack中((面向过程留下的痕迹,不过是对java的有益补充))
Integer是int类型的包装类,Integer是类类型的,需要创建对像之后才能使用,他存储在heap中
Integer 是一个类,是int的扩展,定义了很多的转换方法
类似的还有:float Float;double Double;char Character等
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的,这是就需要通过这些内建类型的包装类来实现了。
(Jdk1.5以后Integer和int之间可以自动转型,例如:Integer i = 3;int x = i;是可以的)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2