javaString类三点注意--学习笔记

2024-01-03 02:19:49
  • String是不可变字符串对象,改变String的值只会创建一个新对象,不会改变原来指向的对象,若原来指向的对象没有其它变量引用,则会被系统回收
  • 只要是以"字符串"创建的字符串对象,会存储到字符串常量池中,且相同内容的字符串只会存储一份
    例如
    String a = "abc";
    String b = "abc";

    以上代码中,a和b实际上都是指向同一个字符串,又因字符串不可变,所以这种存储方式可以节省很多内存

  • 但以new方式创建的字符串对象,每new一次都会产生一个新对象存放在堆内存中
    例如
    ?

    char[] chs = {'a','b'.'c'};
    String a = new String(chs);
    String b = new String(chs);
    

    上面代码中,a与b指向的是不同的字符串对象

文章来源:https://blog.csdn.net/m0_71386740/article/details/135351070
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。