基本型別包裝類以及String之間的轉換,自動拆裝箱。
一: 基本型別包裝類:
為什麼會有基本型別包裝類?
為了對基本資料型別進行更多的操作,更方便的操作,java就針對每一種基本資料型別提供了對應的類型別.
常用操作: 常用的操作之一:用於基本資料型別與字串之間的轉換。
基本型別和包裝類的對應
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer類的概述和構造方法:
Integer類概述:
通過JDK提供的API,檢視Integer類的說明Integer 類在物件中包裝了一個基本型別 int 的值,該類提供了多個
方法能 在 int 型別和 String 型別之間互相轉換, 還提供了處理 int 型別時非常有用的其他一些常量和方法
構造方法
public Integer(int value);
public Integer(String s);
舉例:
package org.westos.Demo1; public class MyTest { public static void main(String[] args) { // Java為了我們方便的去操作這些基本資料型別,給我們提供了與之對應的包裝型別 // byte Byte // short Short // int Integer // long Long // float Float // double Double // char Character // boolean Boolean // Integer // static int MAX_VALUE // 值為 231-1 的常量,它表示 int 型別能夠表示的最大值。 // static int MIN_VALUE // 值為 -231 的常量,它表示 int 型別能夠表示的最小值。 // Integer中的靜態常量 int maxValue = Integer.MAX_VALUE; int minValue = Integer.MIN_VALUE; System.out.println(minValue); System.out.println(maxValue); // Integer常用的構造方法 // B:構造方法 // public Integer(int value) // public Integer(String s) int num = 100; Integer integer = new Integer(num); String string = "50"; Integer integer2 = new Integer(string); // A:int -- String int a = 100; // 方式1 String s1 = a + ""; // 方式2 String of = String.valueOf(a);//將數字轉成字串的數字 // String------int String string2 = "100"; // 方式1 Integer integer3 = new Integer(string2); int intValue = integer3.intValue();//將一個包裝型別,轉成他所對應的基本資料型別 System.out.println(intValue + 1); //方式2 常用 int parseInt = Integer.parseInt("50");//將一個字串的數字,轉成一個數字 } }package org.westos.Demo1; public class MyTest { public static void main(String[] args) { // Java為了我們方便的去操作這些基本資料型別,給我們提供了與之對應的包裝型別 // byte Byte // short Short // int Integer // long Long // float Float // double Double // char Character // boolean Boolean // Integer // static int MAX_VALUE // 值為 231-1 的常量,它表示 int 型別能夠表示的最大值。 // static int MIN_VALUE // 值為 -231 的常量,它表示 int 型別能夠表示的最小值。 // Integer中的靜態常量 int maxValue = Integer.MAX_VALUE; int minValue = Integer.MIN_VALUE; System.out.println(minValue); System.out.println(maxValue); // Integer常用的構造方法 // B:構造方法 // public Integer(int value) // public Integer(String s) int num = 100; Integer integer = new Integer(num); String string = "50"; Integer integer2 = new Integer(string); // A:int -- String int a = 100; // 方式1 String s1 = a + ""; // 方式2 String of = String.valueOf(a);//將數字轉成字串的數字 // String------int String string2 = "100"; // 方式1 Integer integer3 = new Integer(string2); int intValue = integer3.intValue();//將一個包裝型別,轉成他所對應的基本資料型別 System.out.println(intValue + 1); //方式2 常用 int parseInt = Integer.parseInt("50");//將一個字串的數字,轉成一個數字 } }
二: String和int型別的相互轉換:
String -----int
1.String-----Integer----int
String s = “123456”;
Integer i = new Integer(s);
Int a = i.intValue(); //intValue() 以int型別返回該Integer的值
2.通過Integer中的parseInt()方法
String s = “123456”;
Int a = Integer.parseInt(s);
Int-----String
1 通過與空字串拼接
Int i =123456;
String s= “”;
String s1 = i+s;
2 通過String類中的valueOf()方法
Int i =123456;
String s =new String() ;
String s1 = s.valueOf(i);
3 通過Integer中的toString(int i)方法
(int i)
: 返回一個表示指定整數的 String
物件。
Int i = 123456;
String s = Integer.toString(i);
4 先將基本型別轉換為包裝型別在通過包裝型別呼叫toString()方法
Int a = 123456;
Integer i = new Integer(a);
String s =i.toString();
三: JDK5的新特性自動裝箱和拆箱:
JDK5的新特性:
自動裝箱:把基本型別轉換為包裝類型別 Integer ii = 100;
自動拆箱:把包裝類型別轉換為基本型別 ii += 200;
注意事項:
在使用時,Integer x = null;程式碼就會出現NullPointerException。
建議先判斷是否為null,然後再使用。
自動裝箱和拆箱舉例:
package org.westos.demo;
public class MyTest2 {
public static void main(String[] args) {
// 在JDK1.5 有一個新特性叫自動拆裝箱
// 自動裝箱:把基本資料型別自動轉成對應的包裝型別
// 自動拆箱:把包裝型別自動轉成他對應的基本資料型別
Integer ii = 100;// 自動裝箱
ii += 200;// 自動拆箱,自動裝箱
System.out.println(ii);
// 手動拆裝箱
int a = 10;
Integer valueOf = Integer.valueOf(a);// 手動裝箱
int intValue = valueOf.intValue();// 手動拆箱
int b = 30 + intValue;
Integer num = 500;
Integer[] arr = { 2, 6, 8 };
int sum = arr[0] + 10;
Integer[] arr2 = { Integer.valueOf(2), Integer.valueOf(20) };
}
}