Java 基本型別的包裝類介紹
阿新 • • 發佈:2018-11-21
基本包裝類為什麼存在
將基本資料型別封裝成物件的好處在於可以在物件中定義更多的功能方法操作該資料
一般操作:(比如:Integer)類提供了多個方法,在int和String之間相互轉化
一般欄位
static int MAX_VALUE //它的值為2^31 - 1(int最大值)
static int MIN_VALUE //它的值為-2^31(int最小值)
static int SIZE //二進位制補碼錶示int的位元位數
static Class<Integer> TYPE //表示基本型別int的Class例項
基本型別和包裝類一一對應
byte Byte
short Short
int Integer
float Float
double Double
char Character
boolean Boolean
Integer 轉進位制
int a = 0;
Integer.toBinargString(a);//轉二進位制
Integer.toOctalString(a);//轉八進位制
Integer.toHexString(a);//轉十六進位制
構造方法
//Integer(int a)
Integer i = new Integer(66);
//Integer(String str)
Integer i = new Integer("66");
Integer i = new Integer("abd");//報錯 非法 不能轉化
int 和String 的轉化
//int 轉 String
int i = 100;
//方法一:
String s1 = i+ "";
//方法二:
String s2 = String.valueOf(i);
//方法三:
Integer i3 = new integer(i);//先將int轉化為 Integer 在轉化為String
String s3 = i2.toString();
//方法四:
String s4 = Integer.toString(i);//使用了Integer的方法來轉化為字串
//String 轉 int
String s = "200";
//方法一:
Integer i = new Integer(s);
int _i = i.intValue();
//方法二:
int i = Integer.parseInt(s);
// 基本資料型別有8種,而其中有七種都有parseXxx()方法將字串轉化為基本資料型別 (只有char 的 包裝類沒有,因為 如果有字串和char 的轉化通過toCharArray()轉化成字元陣列)
JDK5新特性
* 自動裝箱:把基本資料型別轉化為包裝類型別
* 自動拆箱:把包裝類型別轉化為基本資料型別
//1.5前 沒有自動裝箱
int x = 100;
Integer i = new Integer(x); //將基本資料型別包裝為物件 裝箱
int y = i.intValue(); //將物件轉換為基本資料型別 拆箱
//1.5後 有了自動拆箱
Integer i = 100; //自動裝箱
int y = i; //自動拆箱
//注意 :當i為null(空指標時) 是不能自動拆箱的。空指標異常
Integer 重寫了equals 方法
***比較的是值 ***
但是 當自動裝箱時,如果是在-128到127的byte的取值範圍,自動裝箱不會建立新陣列,而是從常量池(從陣列中取)中去取,超過了就要再新建立物件。
byte 0 為 -128 255 為 127
Integer i = new Integer(100);
Integer i2 = new Integer(100);
i == i2;//(false)
i.equals(i2);//(true)
Integer i = 100;
Integer i2 = 100;
i == i2;//(true)
i.equals(i2)//true
Integer i = 128;
Integer i2 = 128;
i == i2 ; //false
i.equals(i2);//true