ITPub博客

首页 > 应用开发 > Java > JAVA中String类对象不可以改变

JAVA中String类对象不可以改变

原创 Java 作者:码邦主666 时间:2020-12-18 10:20:54 0 删除 编辑

一、String类对象内容不可改变

也就是说String类型的字符串的内容--旦声明赋值之后是不可以改变的
DEMO:观察代码


发现了最后输出的内容是“helloworld!”这与之前的描述不同,其实这里改变的不是原来的字符串的内容,改变的是引用。+



通过上面的DEMO发现了最初声明的“hello”并没有改变,改变的是引用。还发现了生成许多没有栈内存指向的对象,这样的对象将会等待GC回收!

也说明如果一个String类字符串改变频率较高则会产生大量的垃圾,这样造成内存的耗费从而降低了性能。


在学习java的过程当中有遇见任何问题,可以加入我的Java交流学习群697888503,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我

所以如果字符串频率改变高的时候我们不使用String类来实现字符串的创建,而是使用“StringBuffer” 或者“StringBuilder”类来创建字符串(但是这两个类我们放到常用类库部分去讲解)
DEMO:观察代码(使用String声明的字符串)


不断的触发GC,说明产生了大量的垃圾对象。

DEMO:观察代码(使用StrinBuilder声明的字符串)


发现了使用StringBuilder 的时候没有触发GC,说明没有产生垃圾对象。

总结:
1、String 类的字符串对象不可以改变

2、如果一个字符串改变频率太高则会产生大量的垃圾,所以此时我们不使用String类来实现字符串的创建。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985551/viewspace-2743255/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-16

  • 博文量
    141
  • 访问量
    79730