Integer和int的比較

2021-08-02 11:09:59 字數 722 閱讀 6541

package com.mawei.www;

public class integertest

/**

* == 和 equals的差異 */

private static void mytest01()

/**

* 確認有效範圍 */

private static void mytest02()

/**

* 混合比較 */

private static void mytest03()

// 答案解析:
1.== 比較的是物件的引用,當且僅當比較的兩個引用指向同一物件才返回true

2.integer i = ***,看看integer的源**就知道了,其實就是integer把-128~127之間的每個值都建立了乙個對應的integer物件,類似乙個快取。由於integer是不可變類,因此這些快取的integer物件可以安全的重複使用。 integer i = *** ,就是integer i = interger.valueof(***),首先判斷***是否在-128~127 之間,如果是直接return已經存在的物件,否則就只能new乙個了。
}

Integer和int的比較

package com.handsome.www public class integertest 和 equals的差異 private static void mytest01 確認有效範圍 private static void mytest02 混合比較 private static voi...

Integer 與int 賦值比較

測試 test public void integertest 執行結果 true true false true 斷點除錯分析結果 i01是引用型別,如圖引用的位址為integer 651 i02是值型別 i03是引用型別,因為引用型別值放在堆裡面,如果堆裡有值,i03這種取值方式就直接引用原有值...

Integer 與int 賦值比較

測試 test public void integertest 執行結果 true true false true 斷點除錯分析結果 i01是引用型別,如圖引用的位址為integer 651 i02是值型別 i03是引用型別,因為引用型別值放在堆裡面,如果堆裡有值,i03這種取值方式就直接引用原有值...