Integer與int的比較
public static void main(String[] args) {
Integer a=333;
Integer b=333;
int c=333;
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(b));
System.out.println(a.equals(c));
}
輸出的結果:
false
true
true
true
但是在a、b、c都等於3的時候
public static void main(String[] args) { Integer a=3; Integer b=3; int c=3; System.out.println(a==b); System.out.println(a==c); System.out.println(a.equals(b)); System.out.println(a.equals(c)); }
輸出的結果:
true
true
true
true
同樣的方法只是數字不同而已結果卻有差異,檢視資料發現時這樣:
public static Integer valueOf(int i) { assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); }
原來在[-128,127]之間的資料,用的是快取資料。
看到一個解釋較為詳細的了,不再多說了
相關推薦
java中Integer與int比較淺談
今天看到一個面試題 測試程式碼如下 public class test { @Test public void test(){ Integer a = 300 ; Integer b = 300; int c = 300; System.out.println(a == b); System.out.pri
Integer與int的比較
最近發現了一個情況;如下: public static void main(String[] args) { Integer a=333; Integer b=333; int c=333; System.out.println(a==b);
Integer 與int 賦值比較
測試程式碼: @Test public void IntegerTest() { Integer i01 = 59; int i02 = 59; Integer i03 = Integer.valueOf(5
Java進階 三十四 Integer與int的種種比較你知道多少
包裝 之間 www. tex -128 function detail content aqi Java進階(三十四)Integer與int的種種比較你知道多少? 前言 如果面試官問Integer與int的區別:估計大多數人只會說到兩點:Inge
Java中Integer和int比較大小出現的錯誤
最好 裏的 pan 轉換 als 範圍 urn 返回 錯誤 Java在某一處維護著一個常量池,(我記得)在小於128的範圍內,直接用 1 Integer i = 100; 2 int j = 100; 3 return i == j;//true 這裏返回的是true.
Java Integer 與 int 深刻理解
true ger style blog 問題: pan left www. out 今天在做Object 自動轉為Integer 類型之後的判斷,遇到一個不理解的點,當數值超過127之後,兩個數值相同的Object 對象用 == 判斷的結果是false。
Integer與int和String物件與字串之間的"=="和equals情況
一、Integer與int ①程式碼 @Test public void testInteger() { int i = 129; int j = 129; Integer m = 128; Integer n
資料型別之Integer與int
資料型別之Integer與int Java入門 基本資料型別 眾所周知,Java是面向物件的語言,一切皆物件。但是為了相容人類根深蒂固的資料處理習慣,加快常規資料的處理速度,提供了9種基本資料型別,他們都不
Integer 與 Int 的區別
Integer 類整形 與 Int 整形 的區別 最近在翻java的原始碼,發現了一些平常不注意,但很容易出錯的東西,最近有空的話就整理出來。 Integer:是一個int的包裝類,Integer變數的儲存需要例項化Integer的例項物件,
Integer與int的區別?
1、Integer 是 int 提供的封裝類,從 Java 5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉化,而 int 是 Java 的基本資料型別; 2、Integer 預設值是 null ,而 int 預設值是0; 3、Integer 是物件,用一個引用指向這個物件,而 int
map獲取數字與int比較
parseint map eof bject 使用 轉換 exceptio als decimal 已知 map.get("id")為數字,如:123問題 id.equals(123) 結果為false而使用 int id = (Integer)m
Integer與int的區別
徹底讓你明白 Integer 類和 int 基本資料型別的區別 2018年02月01日 16:46:33 鄭州尚學堂李老師 閱讀數:1866 標籤: Integer 類 int 基本資料型別 淺談 Integer 類 目錄 1、Integer 類簡介 2、
關於Integer與int拆箱裝箱的總結
最近在編碼過程中,程式碼提交之後sonar報了Bug警告,引發了對java中Integer類的一些思考。程式碼如下: public boolean verifyDimensions() { if (CollectionUtils.isEmpty(dimension
java基礎鞏固系列(二):Integer與int之間的區別
在JDK1.5之後引入了自動裝箱(autoboxing)與自動拆箱(unboxing),這讓很多對java的初學者感到很疑惑,我剛才也是其中一員。 首先,有一些基本的概念需要了解: 1、Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null。 2
Integer、new Integer() 和 int 比較的面試題
data 不解釋 .com 面試 常量 oid com assert itl 基本概念的區分: 1、Integer 是 int 的包裝類,int 則是 java 的一種基本數據類型2、Integer 變量必須實例化後才能使用,而int變量不需要3、Integer 實際是對
Java中long(Long)與int(Integer)之間的轉換(轉)
轉化 string long tar str 基礎數據類型 ava detail 參考 一、將long型轉化為int型,這裏的long型是基礎類型: long a = 10; int b = (int)a; 二、將Long型轉換為int型,這裏
long(Long)與int(Integer)之間的轉換
一.將long型轉化為int型,這裡的long型是基礎型別: long a = 10; int b = (int)a; 二.將Long型轉換為int 型的,這裡的Long型是包裝型別: Long a = 10; int
Java Integer於Int 進行==雙等於的記憶體比較時的一些問題說明
轉自: https://blog.csdn.net/xingkongdeasi/article/details/79618421 部分有所修改: 前言: 越是簡單的東西,我們往往越是沒有去把它明白,但我們大部分時間又常常在用,就像我們今天說的int與Inte
Integer和int的比較大小
1.Int和Integer比較大小 public static void main(String[] args) { int i = 10; Integer i1 = ne
Integer關於equals與==的比較
java中有兩種資料型別:基本型別和引用型別。 基本型別有8個: 整數型別 byte、short、int、long 浮點數型別 float、double 字元型 char 布林型別 boolean 引用型別包括三種: 類 Class 介面 Interface