1. 程式人生 > >String-系列int-String-StringBuffer三者之間的相互轉換

String-系列int-String-StringBuffer三者之間的相互轉換

我們在java基礎學習中經常會遇到一些基本型別資料之間的相互轉換,今天我在這裡記錄一下int-String-StringBuffer三種類型之間的相互轉換的常見的集中方式.

一.首先呢先介紹int->String型別轉換的三種方式:

方式1:採用拼接空串的方式直接將int型資料轉換成String型別

 int a = 100 ;
 String s1 = a + "";
 System.out.println("s1:"+s1);//100

方式2:先將int->Integer->String

 int b = 200;
 Integer i = new
Integer(b);//這裡先將int型轉換成Integer型別 String s2 = i.toString();//呼叫toString方法將Integer型別數轉換成String System.out.println("s2:"+s2);//200

方式3: public static String toString(int i)返回一個表示指定整數的 String 物件。

 int c = 300;
 String s3 = Integer.toString(c);
 System.out.println("s3:"+s3);//300

二.接下來我們介紹兩種常用的String->int的轉換方式

方式1: String->Integer->int
注意利用Integer轉換的字串必須是純數字型別的字串否則就會報錯

String s6 = "300yangkai";//字串中包含字母的情況
Integer in2 = new Integer(s6);
System.out.println(in2);
**異常**
Exception in thread "main" java.lang.NumberFormatException: For input string: "300yangkai"
String s4 = "400";
Integer integer = new
Integer(s4);//先將String型別先轉換為Integer型別 int num1 = integer.intValue();//然後呼叫intValue()方法將Integer型別轉換為Int型別 System.out.println("num1:"+num1);//400

方式2: Integer中有一個ParseInt(s)返回int型

String s5 = "500";
int num2 = Integer.parseInt(s5);
System.out.println("num2:"+num2);//500

三.最後我們介紹兩種常用的String->StringBuffer的轉換方式

//首先考慮String->StringBuffer的轉換
        //值得注意的是:我們不能直接將String型別的物件直接賦給StringBuffer型別
        //String s1 = "hello";
        //StringBuffer sb = s1;
        //StringBuffer sb = "hello"; 這兩種方式都是錯誤的

那我們應該怎樣實現String->StringBuffer之間的相互轉換呢???

String->StringBuffer:

方法1. 採用有參構造,通過StringBuffer()的有參構造將String型別的字串作為引數傳入

String s1 = "qiangsen";
StringBuffer sb1 = new StringBuffer(s1);
System.out.println("sb1:"+sb1);//sb1:qiangsen

方法2.採用無參構造方法,利用StringBuffer 物件的sppend()方法將String拼接在後面實現轉換.

 String s1 = "qiangsen" ;
 StringBuffer sb2 = new StringBuffer();
 sb2.append(s1);
 System.out.println("sb2:"+sb2);//sb2:qiangsen

StringBuffer->String
方法1.

StringBuffer sb3 = new StringBuffer("qiangsen");//先生成一個Buffer物件
String s4 = sb3.toString();//接著呼叫toString()方法將buffer型別轉換成String型別

方法2.

StringBuffer sb3 = new StringBuffer("qiangsen");
String s2 = new String(sb3);//直接利用String的有參構造將buffer型別直接轉換成為String型別