咱們提出一個需求,將520的二進制、八進制、十六進制算出來,對於這種基本類型的一些操做,包裝類就能夠很好地解決這些問題。java
public class IntegerDemo {
public static void main(String[] args) {
int love = 520;
//轉換爲二進制
System.out.println(Integer.toBinaryString(love));
//轉換爲八進制
System.out.println(Integer.toOctalString(love));
//轉換爲十六進制
System.out.println(Integer.toHexString(love));
}
}
//運行結果
1000001000
1010
208
複製代碼
將基本數據類型封裝成對象的的好處在於能夠在對象中定義更多的功能方法操做該數據git
經常使用的操做之一:用於基本數據類型與字符串之間的轉換緩存
例如:常見進制的轉換學習
Public Static String toBinaryString(int i)spa
爲了對基本數據類型進行更多的操做,更方便的操做,Java針對每一種數據類型都提供了對應的類類型,包裝類類型。code
· byte Byte
· short Short
· int Integer
· long Long
· float Float
· double Double
· char Character
· boolean Boolean
複製代碼
下面的內容咱們使用常見的Integer類型來說解cdn
public class IntegerDemo2 {
public static void main(String[] args) {
int love = 520;
Integer love2 = new Integer(love);
System.out.println(love2);
//由數字組成的字符串也能夠被轉換爲Integer
String love3 = "520";
Integer love4 = new Integer(love3);
System.out.println(love4);
}
}
複製代碼
經過包裝類的一些方法能夠很便捷的解決不少實際問題,好比String和int類型的相互轉換對象
package cn.bwh_02_IntString;
public class IntStringDemo {
public static void main(String[] args) {
int number = 520;
//方式一:拼接字符串
String s1 = "" + number;
System.out.println(s1);
//方式二(推薦方法)任何類型的數據轉換成字符串
String s2 = String.valueOf(number);
System.out.println(s2);
//方式三(最麻煩)
Integer i = new Integer(number);
String s3 = i.toString(number);
System.out.println(s3);
//方式四
String s4 = Integer.toString(number);
System.out.println(s4);
}
}
複製代碼
package cn.bwh_02_IntString;
public class StringIntDemo {
public static void main(String[] args) throws Exception{
String s = "520";
//方式一
Integer i = new Integer(s);
int x = i.intValue();
System.out.println(x);
//方式二(推薦方法)
int y = Integer.parseInt(s);
System.out.println(y);
}
}
複製代碼
在我想要使用包裝類的一些方法的時候,我能夠經過基本類型包裝類的構造方法將值傳入,JDK5後的新特性就爲咱們大大的簡化了一些麻煩的步驟內存
Integer a = 1;
//這就是一個自動裝箱,若是沒有自動裝箱的話,須要這樣
Integer a = new Integer(1)
int b = a;
//這就是一個自動拆箱,若是沒有自動拆箱的話,須要這樣:
int b = a.intValue()
這樣就能看出自動裝箱和自動拆箱是簡化了基本數據類型和相對應對象的轉化步驟
複製代碼
談到數值順便提一提緩存池問題字符串
在於在Java 5之後,整型對象在內部實現中經過使用相同的對象引用實 現了緩存和重用。Integer類型對於-128-127之間的數字是在緩衝區取的,因此對於在這個範圍內的數值用雙等號比較是一致的,由於對應的內存地址是相同的。但對於不在這區間的數字是在堆中new出來的,因此地址空間不同,也就不相等。
Character類對象中包裝一個基本類別char的值 此外,該類提供了幾種方法,以肯定字符的類別(小寫字母,數字,等等),並將字符從大寫轉換成小寫,反之亦然。
//判斷給定的字符是不是大寫字符
public static boolean isUpperCase(char ch) //判斷給定的字符是不是小寫字符 public static boolean isLowerCase(char ch) //判斷給定的字符是不是數字字符 public static boolean isDigit(char ch) //把給定的字符串轉換爲大寫字符 public static boolean toUpperCase(char ch) //把給定的字符串轉換爲小寫字符 public static boolean toLowerCase(char ch) 複製代碼
若是內容中有什麼不足,或者錯誤的地方,歡迎你們給我留言提出意見, 蟹蟹你們 !^_^
若是能幫到你的話,那就來關注我吧!(系列文章均會在公衆號第一時間更新)
在這裏的咱們素不相識,卻都在爲了本身的夢而努力 ❤
一個堅持推送原創Java技術的公衆號:理想二旬不止