FAQ2.11 int和Integer都可以作为整数类型, 那么它们有什么区别?
答:
————————————————————————————————————————————————————————————————————————————————————————
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。 
int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型 
封装类boolean 
Booleanchar 
Characterbyte 
Byteshort 
Shortint 
Integerlong 
Longfloat 
Floatdouble 
Double所有的封装类都是不能改变的,任何变动都将生成一个新的类。 
对于数字特殊,系统为了提高效率,对于小于128的数字进行了内部缓冲,所以2个120的数字Integer有可能地址相等。 
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 
从JDK5.0开始,原始类和包装类可以自动进行转换,我们可以在绝大部分int的地方使用Integer了
————————————————————————————————————————————————————————————————————————————————————————
int 是基本类型,直接存数值 
integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 
int 是前者>>integer 是后者(也就是一个类) 
2.初始化时>> 
int i =1; 
Integer i= new Integer(1);(要把integer 当做一个类看) int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充) 
Integer 是一个类,是int的扩展,定义了很多的转换方法 
类似的还有:float Float;double Double;string String等 举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。 
Java中每种内建类型都有相应的外覆类。 java 提供两种不同的类型:引用类型(或者封装类型,Warpper)和原始类型(或内置类型,Primitive)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 
原始类型 封装类 
boolean Boolean 
char Character 
byte Byte 
short Short 
int Integer 
long Long 
float Float 
double Double 
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的 数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 int 是基本类型,(int)(Math.Random()*100)就是一个数,可以进行加见乘除。 Integer是class ,那么 new Integer(temp)就是一个对象了,可以用到Integer这个class的方法,例如用intvalue()可以返回这个int的值。 
————————————————————————————————————————————————————————————————————————————————————————
int 是基本类型,直接存数值 
integer是对象,用一个引用指向这个对象 
1.Java 中的数据类型分为基本数据类型和复杂数据类型 
int 是前者>>integer 是后者(也就是一个类) 
2.初始化时>> 
int i =1; 
Integer i= new Integer(1);(要把integer 当做一个类看) 
int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充) 
Integer 是一个类,是int的扩展,定义了很多的转换方法 
类似的还有:原始类型            封装类 
int                      Integerboolean            Boolean 
char                   Character 
byte                   Byte 
short                  Short 
long                   Long 
float                   Float 
double               Double 
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。 
Java中每种内建类型都有相应的外覆类。 
Java中int和Integer关系是比较微妙的。关系如下: 
1.int是基本的数据类型; 
2.Integer是int的封装类; 
3.int和Integer都可以表示某一个数值; 
4.int和Integer不能够互用,因为他们两种不同的数据类型; 
举例说明 
ArrayList al=new ArrayList(); 
int n=40; 
Integer nI=new Integer(n); 
al.add(n);//不可以 
al.add(nI);//可以