Java中int和Integer的关系是什么?

简明扼要,int i = 1;i是对象吗?
如果万物皆对象,那么i也应该是对象,为啥不能点出对象里面的方法来。
而Integer a = new Integer(1);这通过a.来获取里面方法。
这里i 和 a是什么关系呢?他们的区别是什么

第1个回答  2014-08-23
在Java中要处理的东西几乎都是对象,而基本数据类型(如int,double等定义的变量以及程序中的字母常量)不是对象。Integer就是将int基本数据类型包装为一个对象,在Java中称为装箱(autoboxing)。

int就属于基本数据类型,基本数据类型是机器能够直接识别的类型,每一种基本数据类型都有其对应的包装器类,int的包装器类就是Interger。

因为Integer封装了整型的基本操作(如与其他基本类型间的转换等),所以需要对数值有转换操作等,就要用类。且一般情况下系统会自动进行转换。

举个例子:
Integer i = new Integer(1);
就是将i实例化为对象。Java5.0之后提供了自动装箱功能:
Integer i = 1
跟上边例子效果一样:本回答被提问者和网友采纳
相似回答