/**
* String 构造方法学习
* String(byte[ ] bytes):通过byte数组构造字符串对象。
* String(byte[] bytes, int offset, int length) 通过byte数组构造字符串子数组对象
*
* String(char[ ] value):通过char数组构造字符串对象。
* String(char[] value, int offset, int count) //通过字符数组构造字符子数组
*
* String(Sting original):构造一个original的副本。即:拷贝一个original。
*
* public String(StringBuffer buffer)该字符串缓冲区的内容已被复制,后续对它的修改不会影响新创建的字符串。
* public String(StringBuilder builder)
*/
public class StringConstructorDemo { public static void main(String[] args) { // TODO Auto-generated method stub /* * 将字节数组或者字符数组转成字符串可以通过String类的构造函数完成。 */ stringConstructorChar(); stringConstructorByte(); } /** * String(char[ ] value):通过char数组构造字符串对象。 * String(char[] value, int offset, int count) //通过字符数组构造字符子数组 */ private static void stringConstructorChar() { char[] arr = {‘w‘,‘a‘,‘p‘,‘q‘,‘x‘}; String s0 = new String(arr,1,3); String s1 = new String(arr); System.out.println("s="+s0);//输出s=apq System.out.println("s="+s1);//输出s=wapqx } /** * String(byte[ ] bytes):通过byte数组构造字符串对象。 * String(byte[] bytes, int offset, int length) 通过byte数组构造字符串子数组对象 * String(String original) //构造一个original的副本。即:拷贝一个original。 */ public static void stringConstructorByte() { byte[] arr = {97,66,67,68}; String s1 = new String(arr); String s2 = new String(arr, 0, 2); System.out.println("s1="+s1);//输出s1=aBCD System.out.println("s2="+s2);//输出s2=aB String sb_copy = new String(s1);// System.out.println(sb_copy);//输出aBCD } }