JAVA--字符串的构造器

package String1;

public class test2 {
    /*字符串常量是一种定义的方式
    *字符串需要有其他形式的构造器,比如可以通过字符的数组,字节数组,
    *io刘中的数据等等。
    */
    public static void main(String[] args)
    {
        String s = new String();
        System.out.println(s);
        String s1 = "";
        byte[] bs = {97,98,99,100};
        //通过字节数组创建字符串
        String s2 = new String(bs);
        System.out.println(s2);
        
        //通过字节数组创建字符串,new String(bs,offset:1,length:2)开始位置是1,偏移量为2
        String s3 = new String(bs,1,2);
        System.out.println(s3);
        
        //通过字符的数组来创建一个字符串
        char[] cs = {'a','b','g','h','g'};
        String s4 = new String(cs);
        System.out.println(cs);
        
        String s5 = new String(cs,2,2);
        System.out.println(s5);
        
        //如果没有在字符串的常量池中发现hello就会在堆中
        //创建一个对象,同时有在字符串常量池中也创建一个对象,然后用
        //堆中的对象来引用字符串常量池中对象。实则创建了2个对象。
        //如果在字符串的常量池中有hello,那么就会在堆中创建一个对象,直接引用
        //已经存在的字符串常量池中的那个对象
        String s6 = new String("hello");
        System.out.println(s6);
    }
}
 

你可能感兴趣的:(JAVA--字符串的构造器)