包裝類(Wrapper)
基本概念
-
通常情況下基本資料型別的變數不是物件,為了滿足萬物皆物件的理念就需要對基本資料型別的變數進行打包封裝處理變成物件,而負責將這些變數宣告為成員變數進行物件化處理的相關類,叫做包裝類。
-
包裝類 對應的基本資料型別 java.lang.Byte byte java.lang.Short short java.lang.Integer int java.lang.Long long java.lang.Float float java.lang.Double double java.lang.Boolean boolean java.lang.Character char
Integer類
基本概念
- java.lang.Integer類內部包裝了一個int型別的變數作為成員變數,主要用於實現對int型別的包裝並 提供int型別到String類之間的轉換等方法。
常用常量
基礎知識:
- int型別的數值有正負,一個int型的數字有32位,其中一位存正負號,數值部分有31位
public class IntegerTest {
public static void main(String[] args) {
// 列印Integer類中常用的常量數值
System.out.println("最大值是:" + Integer.MAX_VALUE); // 2^31-1(減去0)
System.out.println("最小值是:" + Integer.MIN_VALUE); // -2^31
System.out.println("所表示二進位制的位數是:" + Integer.SIZE); // 32
System.out.println("所佔位元組的個數是:" + Integer.BYTES); // 4
System.out.println("對應int型別的Class例項是:" + Integer.TYPE); // int
}
}
常用方法
public class IntegerTest {
public static void main(String[] args) {
int ic = Integer.parseInt("200");
//int ic = Integer.parseInt("200a");
// 編譯ok,執行發生NumberFormatException數字格式異常,因為有字母
System.out.println("字串轉換為整數的結果是:" + ic); // 200
System.out.println("根據引數指定的整數獲取對應的十進位制字串是:" + Integer.toString(200)); // 200
System.out.println("根據引數指定的整數獲取對應的二進位制字串是:" + Integer.toBinaryString(200)); // 11001000
System.out.println("根據引數指定的整數獲取對應的十六進位制字串是:" + Integer.toHexString(200)); // c8
System.out.println("根據引數指定的整數獲取對應的八進位制字串是:" + Integer.toOctalString(200)); // 310
}
}
裝箱和拆箱
- 在Java5釋出之前使用包裝類物件進行運算時,需要較為繁瑣的“拆箱”和“裝箱”操作;即運算前先將包裝類物件拆分為基本型別資料,運算後再將結果封裝成包裝類物件。
- 從Java5開始增加了自動拆箱和自動裝箱的功能。
public class IntegerTest {
public static void main(String[] args) {
// Java5釋出之前
Integer it5 = Integer.valueOf(100);
int ib = it5.intValue();
// 從Java5開始增加了自動裝箱和自動拆箱的機制
Integer it5 = 100; // 直接通過賦值運算子實現自動裝箱
int ib = it5; // 直接通過賦值運算子實現自動拆箱
}
}
筆試考點——自動裝箱池:
- 在Integer類的內部提供了自動裝箱池技術,將-128到127之間的整數已經裝箱完畢,當程式中使用 該範圍之間的整數時,無需裝箱直接取用自動裝箱池中的物件即可,從而提高效率。
public class IntegerTest {
public static void main(String[] args) {
Integer it6 = 127; //128;
Integer it7 = 127; //128;
Integer it8 = Integer.valueOf(127); //new Integer(128);
Integer it9 = Integer.valueOf(127); //new Integer(128);
System.out.println(it6 == it7); // 比較地址 false true 127時地址一樣
System.out.println(it6.equals(it7)); // 比較內容 true
System.out.println(it8 == it9); // 比較地址 false
System.out.println(it8.equals(it9)); // 比較內容 true
}
}
使用總結(Integer為例)
- 基本資料型別轉換為對應包裝類的方式
- 呼叫包裝類的構造方法
Integer(int value)
/Integer(String s)
(過時) - 呼叫包裝類的靜態方法
static Integer valueOf(int i)
(推薦)
- 呼叫包裝類的構造方法
- 獲取包裝類物件中基本資料型別變數數值的方式
- 呼叫包裝類中的
int intValue()
方法即可
- 呼叫包裝類中的
- 字串轉換為基本資料型別的方式
- 呼叫包裝類中的
static int parseInt(String s)
方法即可
- 呼叫包裝類中的
相關文章
- 包裝類
- Integer包裝類
- 七,包裝類
- 物件,包裝類物件
- Java 包裝類Java
- 章13——包裝類——StringBuilder類UI
- 章13——包裝類——Math類
- 包裝類的作用
- 包裝類的使用
- 包裝類共同點
- 03_包裝類
- Java中的包裝類Java
- 【Java】基本型別包裝類Java型別
- 14.Java-Arrays(類)、基本型別包裝類、Integer(類)Java型別
- Java 包裝類和基本型別Java型別
- java學習筆記(包裝類)Java筆記
- Java常用類——包裝類 小白版個人推薦Java
- 二十八、基本型別包裝類型別
- 執行緒同步機制-包裝類執行緒
- Java 異常 隨機數 包裝類Java隨機
- JAVA集合類簡要筆記 - 內部類 包裝類 Object類 String類 BigDecimal類 system類Java筆記ObjectDecimal
- [JAVA] Java物件導向之包裝類,拆箱、裝箱Java物件
- 包裝類到底是幹什麼的
- 基本資料型別及其包裝類(二)資料型別
- 基本資料型別及其包裝類(一)資料型別
- Java中的基本型別包裝類 Integer 類該怎麼使用?Java型別
- 包裝類型別,跳脫字元,BigDecimal,BigInteger,Ca型別字元Decimal
- Java-API-基本資料型別包裝類JavaAPI資料型別
- 好程式設計師Java教程分享Java之包裝類與常用類程式設計師Java
- educoder上的實訓題目(學習-Java包裝類之Byte類)Java
- Java基礎Day07(Map Calender Date 包裝類 System類 異常)Java
- Java 包裝類:原始資料型別與迭代器Java資料型別
- React Fragments – wrapper div終結者ReactFragmentAPP
- gradle-wrapper的簡單使用GradleAPP
- #微碼分享#AES演算法的C++包裝類演算法C++
- 【Java】基本資料、包裝類間轉換與處理Java
- [Java] 基本資料、包裝類間轉換與處理Java
- Java坑人面試題系列: 包裝類(中級難度)Java面試題