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 Demo01 { 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对象构造字符串对象 StringBuilder strbuff =new StringBuilder(); strbuff.append("jack"); 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(bArray); // 如果是字符类型,将输出字符 System.out.println(cArray); } }
输出的结果:
实例一个带参String对象: str abcd
实例一个带byte数组参数String对象: abcdefgh
实例一个带char数组参数String对象: abcdefgh
实例一个带byte数组参数String对象,截取从1开始截取,截5位: bcdef
实例一个带char数组参数String对象,截取从1开始截取,截2位: bc
实例一个带StringBuffer参数String对象: jack
[B@499a12ee
abcdefgh