public
class
test
else}}
public
class
test1
else}}
通過測試發現,第乙個資料輸出i1==i2,第二個資料輸出i1!=i2.
原因是因為
在給integer賦值時,實際上是自動裝箱的過程,也就是呼叫了integer.valueof(int)方法,當這個值大於等於-128並且小於等於127時使用了常量池,所以前兩個位址是相等的,但是後兩個超過了127,故不使用常量池。
也就是說
integer -128~127實際上你可以看成是整形int,所以第乙個類的輸出結果應該是==
interger 128以上的數值就不能看成int了,他是物件,兩個值相同的不同的物件如果用==判斷肯定是不等的,可以用equals判斷。
toString 方法和Integer類
object類是類層次結構的跟類,每個類使用object作為超類,所有物件都實現這個類的方法。tostring 是所有物件的方法,通常,tostring 方法會返回乙個 以文字方式表示 次物件的字串。結果應是乙個簡單但易於讀懂的資訊表示式。建議所有子類重寫次方法。通常需要將乙個物件輸出到控制台上時,...
Integer 和int的區別
1.int是基本的資料型別,直接存數值 2.integer是int的封裝類 integer 是物件,用乙個引用指向這個物件 integer 是乙個類,是int的擴充套件,定義了很多的轉換方法。3.int和integer都可以表示某乙個數值 4.int和integer不能夠互用,因為他們兩種不同的資料...
int和Integer的區別
今天有個學弟問了我乙個面試題 integer a 128 integer b 128 system.out.println a b 輸出什麼?為什麼?說來慚愧,我的直覺告訴我會輸出flase,但突然間還想不出來為什麼。所以寫了個例子研究了下 public static void main strin...