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