string和stringbuffer的区别

Posted wskb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string和stringbuffer的区别相关的知识,希望对你有一定的参考价值。

StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类的内容一旦声明后是不可改变的,改变的只是其内存的指向,而StringBuffer类的对象内容是可以改变的。

对于StringBuffer,不能像String那样直接通过赋值的方式完成对象实例化,必须通过构造方法的方式完成。

 

String对象不可修改指的是对象本身不可修改,而不是引用不可修改。
String a = "你好";
这行代码的意思是声明一个String类型的引用变量叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。
a = "hello";
这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。

以上是关于string和stringbuffer的区别的主要内容,如果未能解决你的问题,请参考以下文章

关于Java基础知识 String StringBuffer StringBuilder三者的区别

Java--String 和StringBuilderStringBuffer 的区别?

StringStringBufferStringBuilder区别

StringStringBuilderStringBuffer的区别

StringStringBuilderStringBuffer的区别

StringBuffer和StringBuilder