写了常见的几个而已。
1:new 一个String类的时候系统会自动传一个空构造 public String();
注意:
当对象初始化是 null时 和 对象是 “” 时,两者是有区别的。
前者是一个空值,不能调用String类里面的任何方法否则报空指针异常,后者是可以的。
2: 字节数组转成字符串(解码) public String(byte[] bytes):
因为计算机只识别0和1 所以需要解码;
如:byte[] by = {97,98,99};
String s = new String (arr);
打印s的结果就一定是abc(对应ASCll编码表)
3: 把字符数组转成字符串 public String(char[] value):原理跟上面类似。
4:把字符串常量值转成字符串public String(String original):
这个构造方法其实就是返回改传入的参数。换句话说:新传入创建的参数(字符串)就是该参数字符串的副本(副本就会去堆创建一个对象,地址也会进栈)