String 对象

String对象及底层区别

String 对象

两种方式

方式一:直接使用双引号得到字符串对象

代码:

//方式一:直接使用双引号得到字符串对象
        String name = "我爱你中国!";

方式二:

1.public String():创建一个空白字符串对象,不含有任何内容 (几乎不用)

代码:

// 1.public String():创建一个空白字符串对象,不含有任何内容 (几乎不用)
        String s = new String();

2.public String(String):根据传入的字符串内容,来创建字符串对象(几乎不用)

代码:

// 2.public String(String):根据传入的字符串内容,来创建字符串对象(几乎不用)
        String s2 = new String("我是中国人"); //灰色表示可有可无

3.public String(char[] c):根据字符数组的内容,来创建字符串对象

代码:

// 3.public String(char[] c):根据字符数组的内容,来创建字符串对象
        char[] chars = {'a' , 'b' , '中' , '国'};
        String s3 = new String(chars);
        System.out.println(s3);

4.public String(byte[] b):根据字节数组的内容,来创建字符串对象

代码:

// 4.public String(byte[] b):根据字节数组的内容,来创建字符串对象
        byte[] bytes = {97, 98, 99, 65, 66, 67};
        String s4 = new String(bytes);
        System.out.println(s4);

区别:

区别一:

  • 以 “” 方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。

区别二:

  • 通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。
    代码:
//区别一:
String ss1 = "abc";
        String ss2 = "abc";
        System.out.println(ss1 == ss2); //true
//区别二:
        char[] chars1 = {'a', 'b', 'c'};
        String ss3 = new String(chars1);
        String ss4 = new String(chars1);
        System.out.println(ss3 == ss4); //false

Original: https://www.cnblogs.com/zhangyouren/p/16408100.html
Author: Haziy
Title: String 对象

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/621738/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球