區(qū)別如下:
(推薦學(xué)習(xí):java入門)
1、int 是基本類型,直接存數(shù)值;而integer是引用數(shù)據(jù)類型。
2、Int的聲明不需要實例化,且變量聲明后的初始值為0;Integer是一個類,初始值為null,需要進行實例化,才能對變量數(shù)據(jù)進行處理。
3、Integer類是int的包裝類,實際開發(fā)中Integer被看成一個對象,可以進行數(shù)據(jù)轉(zhuǎn)換等操作。
示例:
Integer num1 = 200; Integer num2 = 200; System.out.println("num1==num2: "+(num1==num2)); Integer num3 = 100; Integer num4 = 100; System.out.println("num3==num4: "+(num3==num4));
輸出結(jié)果:
num1==num2:false num3==num4:true
(視頻教程推薦:java視頻教程)
分析:
首先要明確equal方法與==的區(qū)別:
equals() 比較的是兩個對象的值(內(nèi)容)是否相同。
“==” 比較的是兩個對象的引用(內(nèi)存地址)是否相同,也用來比較兩個基本數(shù)據(jù)類型的變量值是否相等。
java定義:在自動裝箱時對于值從–128到127之間的值,它們被裝箱為Integer對象后,會存在內(nèi)存中被重用,始終只存在一個對象而如果超過了從–128到127之間的值,被裝箱后的Integer對象并不會被重用,即相當(dāng)于每次裝箱時都新建一個 Integer對象;