String類中的構造函數
String(); 構造一個空字符串對象
String(byte[] bytes); 通過byte數組構造字符串對象
String(byte[] bytes,int offset,int length);通過byte數組,從offset開始,總共length長的字節構造字符串對象
String(char[] value); 通過char數組構造字符串對象
String(byte[] char,int offset,int length);通過char數組,從offset開始,總共length長的字節構造字符串對象
String(String original); 構造一個original的副本,拷貝一個original
String(StringBuffer buffer);通過StringBuffer數組構造字符串對象
下面測試類:
1 public class StringClassTest { 2 public static void main(String[] args) { 3 // 字節數組 4 byte[] bArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }; 5 // 字符數組 6 char[] cArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }; 7 //聲明一個StringBuffer 8 StringBuffer strbuf = new StringBuffer("strbuf"); 9 // 實例一個String對象 10 String str = new String("str abcd"); 11 //實例一個String對象 通過一個btye數組構造字符串對象(字節數組) 12 String strb = new String(bArray); 13 //實例一個String對象 通過一個char數組構造字符串對象(字符數組) 14 String strc = new String(cArray); 15 //實例一個String對象 通過一個char數組構造字符串對象(字節數組,開始的數據,截得數據長度) 16 String strbIndex = new String(bArray, 1, 5); 17 //實例一個String對象 通過一個char數組構造字符串對象(字符數組,開始的數據,截得數據長度) 18 String strcIndex = new String(cArray, 1, 2); 19 //實例一個String對象 通過一個StringBuffer對象構造字符串對象 20 String strbuff = new String(strbuf); 21 System.out.println("實例一個無參String對象: "+str); 22 System.out.println("實例一個帶byte數組參數String對象: "+strb); 23 System.out.println("實例一個帶char數組參數String對象: "+strc); 24 System.out.println("實例一個帶byte數組參數String對象,截取從1開始截取,截5位: "+strbIndex); 25 System.out.println("實例一個帶char數組參數String對象,截取從1開始截取,截2位: "+strcIndex); 26 System.out.println("實例一個帶StringBuffer參數String對象: "+strbuff); 27 // 如果是字節類型,將輸出地址 28 // System.out.println(by); 29 // 如果是字符類型,將輸出字符 30 // System.out.println(c); 31 } 32 }
下面是運行結果:
實例一個無參String對象: str abcd
實例一個帶byte數組參數String對象: abcdefgh
實例一個帶char數組參數String對象: abcdefgh
實例一個帶byte數組參數String對象,截取從1開始截取,截5位: bcdef
實例一個帶char數組參數String對象,截取從1開始截取,截2位: bc
實例一個帶StringBuffer參數String對象: strbuf