String-系列int-String-StringBuffer三者之間的相互轉換
阿新 • • 發佈:2019-01-25
我們在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型別