一、包裝類的分類
包裝類是針對八種基本資料類型相應的引用類型。
基本資料類型 | 包裝類 |
---|---|
char | Character |
int | Integer |
boolean | Boolean |
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxSP0UTbsJWcv1maVRVQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLiJWMmZzY5IDMkdTY1QGNiRmMjRDOkZGM2MTY1QjM4UzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
二、包裝類和基本資料類型轉換
裝箱與開箱的了解:
package wrapper;
public class Integer01 {
public static void main(String[] args) {
int n1=100;
//手動裝箱
Integer integer=new Integer(n1);
Integer integer1=Integer.valueOf(n1);
//手動拆箱
int i=integer.intValue();//100
//jdk5後可以自動裝箱和拆箱
int n2=200;
Integer integer2=n2;//自動裝箱 int-->Integer 底層用的是Integer.valueOf(n2)
int n3=integer2;//自動拆箱 Integer-->int 底層仍然用的是intValue()方法
}
}
總結:用基本資料類型int給一個類指派就是裝箱。
經典面試題1:
Object obj1=true?new Integer(1):new Double(2.0);
//三目運算符,條件為真選擇冒号前,因為冒号後面的最高精度為double,是以會提高精度,輸出為1.0
System.out.println(obj1);//1.0
Object obj2;
if(true){
obj2=new Integer(1);
}else{
obj2=new Double(2.0);
}
System.out.println(obj2);//1
經典面試題2:
兩個對象==比較的是位址。
public void method(){
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i==j);//False
/*
*new出來的都是新的對象,比較兩個不同的對象傳回的是False
*/
Integer m=1;
Integer n=1;
System.out.println(m==n);//True
//直接用int資料向Integer對象指派分兩種情況:
//1.指派的數範圍是-128~127,指派的是相同的位址值,在類加載的時候自動建立了一個數組。
//2.指派的數範圍位于-128~127之外,編譯器自動建立新的對象。
Integer x=128;
Integer y=128;
System.out.println(x==y);//False,兩個不同的對象
}
經典面試題2(錯題):
隻要有基本資料類型,判斷的是值是否相同。
Integer i11=127;
int i12=127;
System.out.println(i11==i12);//True
Integer i13=128;
int i14=128;
System.out.println(i13==i14);//True
//隻要有基本資料類型,判斷的是值是否相同。
三、包裝類<–>String
//包裝類(Integer)-->String
Integer i=100;//自動裝箱
String str1=i+"";
String str2=i.toString();
String str3=String.valueOf(i);//
//String --> 包裝類(Integer)
String str4="12345";
Integer i2=Integer.parseInt(str4);//parseInt傳回值類型為int
Integer i3=new Integer(str4);//構造器