int 和 Integer 有什麼區別。請簡單的寫一段有關自動拆裝箱的程式碼。
//1 Integer a =10; Integer a1=10; System.out.println(a==a1);//true //2 Integer b=128; Integer b1 = 128; System.out.println(b==b1);//false //3 int c=12; int c1=12; System.out.println(c==c1);//true //4 int d=210; int d1=210; System.out.println(d==d1);//true //5 Integer e = new Integer(11); Integer e1 = new Integer(11); System.out.println(e==e1);//false //6 int f = 11; System.out.println(f==e);//true
integer與int的區別:
1、Java 中的資料型別分為基本資料型別和複雜資料型別
int是前者,integer 是後者(也就是一個類)。
2、初始化時,程式碼如下:
int i = 1;
Integer i = new Integer(1); // (要把integer 當做一個類看)。
int 是基本資料型別(面向過程留下的痕跡,不過是對Java的有益補充)
Integer 是一個類,是int的擴充套件,定義了很多的轉換方法
類似的還有:float Float、double Double、string String等 。
舉個例子:當需要往ArrayList,HashMap中放東西時,像int,double這種基本資料型別是放不進去的,因為容器都是裝object的,這時就需要這些基本資料型別的包裝類了。
int和Integer關係是比較微妙的。關係如下:
1、int是基本的資料型別;
2、Integer是int的封裝類;
3、int和Integer都可以表示某一個數值;
4、int和Integer不能夠互用,因為他們兩種不同的資料型別;
在Java裡==是比較記憶體地址是否相同,即是否為同一個物件。
第1、2種情況為了說明Integer與Integer間的比較,從jdk1.5開始,有“自動裝箱”這麼一個機制,在byte(-128到127)範圍內(整型的八位二進位制的表示的範圍為-128到127),如果存在了一個值,再建立相同值的時候就不會重新建立,而是引用原來那個,但是超過byte範圍還是會新建物件,
第3、4種情況則說明像int這樣的基本型別==只是比較值是否相同
第5種情況則輸出false,則說明==比較的確實是記憶體地址,Integer物件new出來後存放在堆裡面。
第6種情況輸出true則說明了自動拆箱機制,即基本資料型別和包裝類物件比較的時候,物件會自動拆箱為基本資料型別再比較,比較的就是裡面的值而不是地址。
相關推薦
int 和 Integer 有什麼區別。請簡單的寫一段有關自動拆裝箱的程式碼。
//1 Integer a =10; Integer a1=10; System.out.println(a==a1);//true //2 Integer b=128; Integer
int和Integer有什麽區別?
機制 microsoft val family jdk1 經歷 ont .com () 可參考:http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 從Java 5開始引入了自動裝箱/拆
Java基礎之int和Integer有什麼區別
1 int與Integer的基本使用對比 (1)Integer是int的包裝類;int是基本資料型別; (2)Integer變數必須例項化後才能使用;int變數不需要; (3)Integer實際是物件的引用,指向此new的Integer物件;int是直接儲存資料值 ;
五、int和Integer有什麼區別?
一.基本使用對比 int是基本資料型別,作為成員變數的時候預設值為0。 Integer是int的包裝類,作為成員變數的時候預設值為null。 int不需要例項化可以直接使用,Integer需要例項化以後才可以使用。 int是直接存放數值的,而Integer是對物件的引
int 和 Integer 有什麼區別?談談 Integer快取值的範圍
首先int是原始資料型別,在java中有8個這樣的原始資料型別,分別為:int,short,boolean,byte,char,float,double,long。java當中一切皆是物件,但基本資料型別除外。 Integer是int的包裝,它有一個int型別
[厲害了,我的JAVA基礎](四)int 和 Integer 有什麼區別?Integer的值快取範圍
1 int與integer的基本使用對比 (1)Integer是int的包裝類;int是基本資料型別; (2)Integer變數必須例項化後才能使用;int變數不需要; (3)Integer實際是物件的引用,指向此new的Integer物件;i
int 和 Integer 有什麼區別,Integer的值快取範圍
目錄 int與Integer的基本使用對比 Integer是int的包裝類;int是基本資料型別; Integer變數必須例項化後才能使用;int變數不需要; Integer實際是物件的
int和Integer有什麼區別?
Java是一個近乎純潔的面向物件程式語言,但是為了程式設計的方便還是引入了基本資料型別,但是為了能夠將這些基本資料型別當成物件操作,Java為每 一個基本資料型別都引入了對應的包裝型別(wrapper class),int的包裝類就是Integer,從Java 5開
int和Integer有什麼區別,Integer的值快取範圍
1 int與integer的基本使用對比(1)Integer是int的包裝類;int是基本資料型別; (2)Integer變數必須例項化後才能使用;int變數不需要; (3)Integer實際是物件的引用,指向此new的Integer物件;int是直接儲存資料值 ; (4)I
int和Integer有什麼區別?談談Integer的值快取範圍
int時我們常說的整形數字,是Java的8中原始資料型別之一.Java語言雖然號稱一切都是物件,但原始資料型別除外. Integer是int對應的包裝類,他又一個int型別的欄位儲存資料,並且提供了基本操作,比如數學運算,int和字串之間轉換等.在JAVA5中,引入了自
int 和 Integer 有什麼區別.
1,無論如何,Integer與new Integer不會相等。不會經歷拆箱過程,new出來的物件存放在堆,而非new的Integer常量則在常量池(在方法區),他們的記憶體地址不一樣,所以為false。2,兩個都是非new出來的Integer,如果數在-128到127之間,則
【轉】Java裏面的int和Integer的區別
之間 assert 默認 out val 就會 java常量池 使用 spa int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本數據類型 2、Integer變量必須實例化後才能使用,而int變量不需要 3、Integer實際是對象
int和Integer的區別
() con ger 包裝 -c out vhd 包裝類 fort 1、Integer是int的包裝類,int則是java的一種基本數據類型 2、Integer變量必須實例化後才能使用,而int變量不需要 3、Integer實際是對象的引用,當new一個Integer時,實
Java int和Integer的區別
body 類型轉換 per 區別 primitive ava ger class ron int是基本類型(Primitive),Integer是引用類型(Wrapper)。int是java的原始數據類型,Integer是java為int提供的封裝類。int的變量不需要實例
java面試題之int和Integer的區別
4條 試題 als 自動 數據類型 類型 fort spec 新建 int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本數據類型 2、Integer變量必須實例化後才能使用,而int變量不需要 3、Integer實際是對象的引用,
2.int和integer的區別?
以前一直沒有思考,為啥要有一個int還要有一個integer。 實際上: 1. Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null; 2.初始化的時候,int i =1; Integer i= new Integer(1);
int和Integer的區別 java
int和Integer的區別 java 1、Integer是int的包裝類,int則是java的一種基本資料型別 ; 2、Integer的預設值是null,int的預設值是0; 3、Integer變數必須例項化後才能使用,而int變數不需要 ; 4、Integer實際是物件的引用,當
int和Integer的區別---之面試常考
int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後才能使用,而int變數不需要 3、Integer實際是物件的引用,當new一個Integer時,實際上是生成一個指標指向此物件;而int則是直接儲存資
java學習筆記(一)int和Integer的區別
int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後才能使用,而int變數不需要 3、Integer實際是物件的引用,當new一個Integer時,實際上是生成一個指標指向此物件;而int則是直接儲存資料值
java中int和integer的區別
1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後才能使用,而int變數不需要 3、Integer實際是物件的引用,當new一個Integer時,實際上是生成一個指標指向此物件;而int則是直接儲存資料值