int 是 java提供給的8種原始數據類型之一,java還對每一個原始數據類型作了封裝,Integer 就是對 int 的封裝。java
區別1 :對象
int 默認值是 0;內存
Integer 默認值是 null;it
要想表現出來沒有參加考試和考試成績爲 0 的區別,就要用Integer ;數據類型
區別2:引用
int 是基本類型,Integer是引用類型。float
好比int a= 5;Integer b=5; (要把integer 當作一個類看,同時須要導包java.lang.Integer);方法
對於a你只能用來作計算,好比加減乘除;im
對於b你能夠用來作不少事情,由於他是一個對象,他有不少方法,你能夠像使用String對象那樣使用它。數據
區別3:
java 提供兩種不一樣的類型:引用類型和原始類型(或內置類型或基本類型)。
int是java的原始數據類型(Primitive),Integer是java爲int提供的封裝類(Warpper)。
Java爲每一個原始類型提供了封裝類。
原始類型 封裝類
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
int 通常作爲數值參數就夠了
integer 通常作類型轉換的時候用的較多
Integer 是 int 的封裝類,裏面有不少進行處理的靜態方法
Integer 是對象而int不是,內存的分配位置也不同
int 是一種基本數據類型,而Integer 是相應於int 的類類型,稱爲對象包裝。
自動裝箱和拆箱
A. 自動裝箱:將基本數據類型封裝爲對象類型,成爲一個對象之後就能夠調用對象所聲明的全部的方法。
Integer inA = 127; //以上的聲明就是用到了自動的裝箱:解析爲 Integer inA = new Integer(127);
B. 自動拆箱:將對象從新轉化爲基本數據類型。
//裝箱 Integer inB = 128; //拆箱 int inC = inB;