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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯华亮 中级黑马   /  2012-8-5 13:14  /  1290 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

经常在程序看到nt和Integer来定义一个整型数据或数组,请问他们到底有什么区别!!望不吝赐教

4 个回复

倒序浏览
Integer i=0;
i是一个对象

int i=3;
i是一个基础变量

Integer i=0;
这种写法如果没记错,在JAVA1.5之前是会报错的,自动的加解包是1.5的新特性
必须写成
Integer i= new Integer(0);
i.intValue()才能提取i的值

使用场合,例如说
往ArrayList里面add,必须add的是Object
而int不是对象,就只能把Integer添加进去

希望对楼主有帮助
回复 使用道具 举报
首先你要明白:1,integer是int的包装类,int是基本类型,没有空值。

             2,integer可以有空值即null。 因为它是引用类型。

其次,java一般处理对象都会封装对象,但是基本数据类型不是对象,

所以java就对int,double,char等进行了封装,java5.0之后提供了自动拆箱装箱功能.

举个例子:Integer i = 3; 在java没有封装对象之前是不可以这么写的.

就需要自己封装对象即 Integer i = new Integer(3);

总之你记住一个是基本数据类型 一个是引用数据类型 老毕视频里都有的 你看到就会知道了,

回复 使用道具 举报
int不是对象,是java原始的数据类型,用于直接存数值,它默认值为0.
Integer是个对象,它有自己的方法,是一个引用指向这个方法,默认值为NULL

int是基本类型,Integer是包装类,也就是类。
int一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方

int i=1;//i是基本类型数据变量
Integer i=new Integer(1)://i是一个对象引用,integer是一个类
回复 使用道具 举报
int 指向的是基本数据类型。而integer指向的是一个对象,是相应于int的类类型,称为对象包装
需要用到对象时 用Integer,比如往ArrayList里面add,必须add的是对象,就得用Integer。
需要的是基本数据时 用int   
Integer有 自动 加包 和自动解包 的特性。

另外Integer创建的对象在-128-127内实现了常量池技术,也就是说在
这个数据范围内Integer出来的对象只要值相等 就对应的是一个对象(当然 这里不包含用new新建对象)
Integer i=0;
Integer a=0;  则,i和a指向同一个对象,

但是
Integer i=160;
Integer a=160;时则i和a指向两个不同的对象。

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