标题: 解释一下int和Integer有什么区别? [打印本页] 作者: 吴在兴 时间: 2013-1-29 23:37 标题: 解释一下int和Integer有什么区别? 解释一下int和Integer有什么区别?作者: 冷延冰 时间: 2013-1-30 00:11
Int 是原始数据类型,Integer是为int 提供的封装类,属于引用数据类型。Java 为每个原始类型提供了封装类。
原始类 型封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double作者: 王溢君 时间: 2013-1-30 00:12
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中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);
另外,jdk新版本有自动装箱和拆箱功能了。作者: 王溢君 时间: 2013-1-30 00:16
int是原始数据类型,而Integer是引用数据类型,是int的包装类。Java中的八种原始数据类型都有对应的包装类,boolean--Boolean char--Character byte--Byte short--Short long--Long float--Float double--Double。int和Integer是可以相互转换的如:
int a = 1; Integer in = new Integer(a);
Integer in = new Integer(10); int i = in.intValue();
JDK5.0支持自动包装和自动解包,以下代码与以上完成相同的功能:
int a = 1; Integer b = a;
Integer c= new Integer(10); int d = c;作者: 何家旺 时间: 2013-1-30 00:19 本帖最后由 何家旺 于 2013-1-30 00:21 编辑