① java包裝類
在Java中我們經常會見到一些基本的數據類型,比如整數類型(int),小數類型(double,float)等,但是Java是一門面向對象的語言,很多的類型都是以對象的形式展現,像這些數據類型也可以有自己的對象;每個類型的對應包裝類型為:int-> Integer double->Double float->Float char->Character short->Short boolean->Boolean byte->Byte;
我們用包裝類將這些類型封裝好之後,就可以使用對象的一些屬性和方法,可以方便的操作這些對象;
在這些包裝類中,我們可以將這些包裝類對象和基本數據類型進行轉換,也叫做裝箱操作和拆箱操作:裝箱操作就是將基本數據類型轉換為包裝類型,例如將基本數據類型int轉換成包裝類Integer,裝箱操作有兩種方式,手動裝箱與自動裝箱,自動裝箱就是直接將基本數據類型賦值給包裝類型對象即可;手動裝箱就是創建一個包裝類對象,然後將值賦值給該對象;
int value1 = 10;
Integer value2 = value1; // 自動裝箱
Integer value3 = new Integer( value1 ); // 手動裝箱
有了裝箱操作也就有拆箱操作,拆箱操作的意思就是將包裝類型轉換為基本數據類型;拆箱操作也有兩種方式:手動拆箱與自動拆箱;
int value4 = value2; // 自動拆箱,直接將包裝類對象賦值給基本數據類型變數
Int value5 = value2.intValue(); // 手動拆箱,調用包裝類的intValue()方法,獲取變數值;
包裝類也是一個普通的類,當然也有類的基本屬性,方法;數值類型的包裝類繼承的父類是Number類,這個類裡面有一些基本的方法,比如獲取intValue的值,longValue的值等等;
包裝類繼承Number之後,也會有一些自己的屬性方法,比如Integer類有自己的一些屬性,可以將整數轉換為字元串,也可以將字元串轉換成整數等操作;
Integer常用方法
比較兩個數的大小,如果第一個數小於第二個數返回-1;如果兩個數相等返回0;如果第一個數大於第二個數返回1;
public static int compare(int x, int y)
將數值字元串轉換為數字,如果傳入的參數中包含非數字的字元,則會報出異常
public static int parseInt(String s)
將整數類型轉換為字元串類型
public String toString()
valueOf返回Integer類型的數據,根據參數返回不同的結果
public static Integer valueOf(String s, int radix)
public static Integer valueOf(String s)
public static Integer valueOf(int i)
除了Integer之外,其他的包裝類例如Long, Double也都有類似的功能
包裝類型除了基本數值類型的包裝類之外,還有boolean, char的包裝類,這兩個類都是普通的封裝,並沒有繼承Number類;
使用包裝類的使用,進行兩個對象的判斷,需要使用equals方法進行判斷,不可以使用==,當Integer值的范圍在-128到127(包含)之間的時候,使用==返回true,但是不在這個返回的時候,返回false;
② java 包裝類 自動裝箱問題
==比的是地址。byte取值范圍的值(-127~128)指向的是同一個地址,a和c都是110,也就是說a和c指向同一個地址,所以相等。而b明顯不同,new Integer是在內存中重新開辟了一塊空間。
③ 求java自動打包和自動拆包功能的解釋,謝謝。
簡單來說就是:簡單類型比如int類型「10」,如果想作為一個對象來用,手動寫代碼的話就是
Integer a = new Integer(10);
然後a就是一個數值型的對象了。
而自動打包和自動拆包,其實就是指java可以自動完成上述的步驟。
你可以對一個方法比如:
void test(Integer a);這樣一個方法直接調用如test(10);java自動將10轉成Integer類型。
自動拆包則相反。
④ java中的包裝類如何使用呢
把它當成基本類型用就行了,jdk1.5以後就提供了自動拆箱和裝箱。所以建議以後能用基本類型的地方就換成相應的包裝類,這樣更符合面向對象的思想。
包裝類還提供了一些功能很有用的方法,你找常見的幾個試試,隨著學習時間的推移,慢慢你會掌握啦。
⑤ 什麼是java的自動包裝功能
自動拆裝箱 是JDK1.5中新增加的內容 ,它可以將基本數據類型自動轉換為它的包裝類。或者相反。
基本數據類型與包裝類對應關系如下:
short Short
int Integer
long Long
char Char
float Float
double Double
boolean Boolean
⑥ JAVA自動包裝的詳解
這里的裝箱應該理解為 封裝對象 ,即把基礎數據類型(如 int)轉換成基礎類型封裝類的對象(如 new Integer())
拆箱就是裝箱的反過程,即把基礎類型封裝類的對象(如 new Integer())轉換為基礎數據類型(如 int)。
裝箱: Integer a = new Integer() ;
a = 100 ; //1.5以前不支持為對象如此賦值
拆箱: int b = new Integer(100) ;
自動拆裝箱 是JDK1.5中新增加的內容 ,它可以將基本數據類型自動轉換為它的包裝類。或者相反。
基本數據類型與包裝類對應關系如下:
short Short
int Integer
long Long
char Char
float Float
double Double
boolean Boolean
⑦ java中什麼是自動包裝什麼是自動解包
這是java面向對象的一個折中方案,由於要灌輸一切皆是對象的思想,而java中又存在8種基本數據類型不在對象之列,所以java給其分別定義了包裝類,而自動包裝和自動解封是只是方便這些基本數據類型和其對應的包裝類的自動轉換,其實沒什麼的,你見了包裝類對象直接當成基本類型用就行了
⑧ java包裝類是什麼_
在Java中我們經常會見到一些基本的數據類型,比如整數類型(int),小數類型(double,float)等,但是Java是一門面向對象的語言,很多的類型都是以對象的形式展現,像這些數據類型也可以有自己的對象;每個類型的對應包裝類型為:int-> Integer double->Double float->Float char->Character short->Short boolean->Boolean byte->Byte;
我們用包裝類將這些類型封裝好之後,就可以使用對象的一些屬性和方法,可以方便的操作這些對象;
在這些包裝類中,我們可以將這些包裝類對象和基本數據類型進行轉換,也叫做裝箱操作和拆箱操作:裝箱操作就是將基本數據類型轉換為包裝類型,例如將基本數據類型int轉換成包裝類Integer,裝箱操作有兩種方式,手動裝箱與自動裝箱,自動裝箱就是直接將基本數據類型賦值給包裝類型對象即可;手動裝箱就是創建一個包裝類對象,然後將值賦值給該對象;
int value1 = 10;
Integer value2 = value1; // 自動裝箱
Integer value3 = new Integer( value1 ); // 手動裝箱
有了裝箱操作也就有拆箱操作,拆箱操作的意思就是將包裝類型轉換為基本數據類型;拆箱操作也有兩種方式:手動拆箱與自動拆箱;
int value4 = value2; // 自動拆箱,直接將包裝類對象賦值給基本數據類型變數
Int value5 = value2.intValue(); // 手動拆箱,調用包裝類的intValue()方法,獲取變數值;
包裝類也是一個普通的類,當然也有類的基本屬性,方法;數值類型的包裝類繼承的父類是Number類,這個類裡面有一些基本的方法,比如獲取intValue的值,longValue的值等等;
包裝類繼承Number之後,也會有一些自己的屬性方法,比如Integer類有自己的一些屬性,可以將整數轉換為字元串,也可以將字元串轉換成整數等操作;
Integer常用方法
比較兩個數的大小,如果第一個數小於第二個數返回-1;如果兩個數相等返回0;如果第一個數大於第二個數返回1;
public static int compare(int x, int y)
將數值字元串轉換為數字,如果傳入的參數中包含非數字的字元,則會報出異常
public static int parseInt(String s)
將整數類型轉換為字元串類型
public String toString()
valueOf返回Integer類型的數據,根據參數返回不同的結果
public static Integer valueOf(String s, int radix)
public static Integer valueOf(String s)
public static Integer valueOf(int i)
除了Integer之外,其他的包裝類例如Long, Double也都有類似的功能
包裝類型除了基本數值類型的包裝類之外,還有boolean, char的包裝類,這兩個類都是普通的封裝,並沒有繼承Number類;
使用包裝類的使用,進行兩個對象的判斷,需要使用equals方法進行判斷,不可以使用==,當Integer值的范圍在-128到127(包含)之間的時候,使用==返回true,但是不在這個返回的時候,返回false;