int 是基本数据类型 而Integer是封装int的类型的类 一个是基本数据类型的数组 一个是对象数据
int是基础类,和C,VB里面的整形没什么两样(当然,也许占用内存在不同语言是不同的)但是Integer是一个类,他封装了一些相关的方法,扩展了int的许多功能。最简单的,比如你把一个String类型的 "123"要转换成int怎么办?比如 String s = "123"; int a = (int)s;,会报错的。这时候就用到Integer这个类了 int a = new Integer(s).intValue();这样就获得了s转换成int的效果
有了Integer这个封装类 很多属性和方法就可以加入其中
而int就不行
而Integer是封装int的类型的类
一个是基本数据类型的数组
一个是对象数据
String s = "123";
int a = (int)s;,会报错的。这时候就用到Integer这个类了
int a = new Integer(s).intValue();这样就获得了s转换成int的效果
jdk 1.5之前int和Integer是不同的东东
jdk1.5后两者可以互相转换了,不过也弄出些难懂的东西
如:
Integer i=0;//貌似没产生对象,但一个引用指向一个值别扭
int i=new Integer(1);//产生一个对象,但怎么给一个值来引用汗
不理解
俺以前做jdk1.4的貌似思想还转不过来
Integer用于包装int数据,因为像List、Map中只能存取对象类型的数据,所以这时也只能使用Integer了。