String类中的构造函数java
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数组构造字符串对象 数组
下面测试类:
函数
public class StringClassTest { public static void main(String[] args) { // 字节数组 byte[] bArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }; // 字符数组 char[] cArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }; //声明一个StringBuffer StringBuffer strbuf = new StringBuffer("strbuf"); // 实例一个String对象 String str = new String("str abcd"); //实例一个String对象 经过一个btye数组构造字符串对象(字节数组) String strb = new String(bArray); //实例一个String对象 经过一个char数组构造字符串对象(字符数组) String strc = new String(cArray); //实例一个String对象 经过一个char数组构造字符串对象(字节数组,开始的数据,截得数据长度) String strbIndex = new String(bArray, 1, 5); //实例一个String对象 经过一个char数组构造字符串对象(字符数组,开始的数据,截得数据长度) String strcIndex = new String(cArray, 1, 2); //实例一个String对象 经过一个StringBuffer对象构造字符串对象 String strbuff = new String(strbuf); System.out.println("实例一个无参String对象: "+str); System.out.println("实例一个带byte数组参数String对象: "+strb); System.out.println("实例一个带char数组参数String对象: "+strc); System.out.println("实例一个带byte数组参数String对象,截取从1开始截取,截5位: "+strbIndex); System.out.println("实例一个带char数组参数String对象,截取从1开始截取,截2位: "+strcIndex); System.out.println("实例一个带StringBuffer参数String对象: "+strbuff); // 若是是字节类型,将输出地址 // System.out.println(by); // 若是是字符类型,将输出字符 // System.out.println(c); } }
下面是运行结果:测试
实例一个无参String对象: str abcd
实例一个带byte数组参数String对象: abcdefgh
实例一个带char数组参数String对象: abcdefgh
实例一个带byte数组参数String对象,截取从1开始截取,截5位: bcdef
实例一个带char数组参数String对象,截取从1开始截取,截2位: bc
实例一个带StringBuffer参数String对象: strbuf