StringBuffer类和String类的区别

Posted weller

tags:

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

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

对于StringBuffer而言本身就是一个操作类,不能像String那样直接通过赋值的方式完成对象实例化,必须通过构造方法的方式完成。

 1 public class TestStringBuffer {
 2     public static void main(String args[]){
 3         StringBuffer str1 = new StringBuffer("hello");
 4         String str2 = "hello";
 5         add(str1);
 6         add(str2);
 7         System.out.println(str1);
 8         System.out.println(str2);
 9     }
10     public static void add(String str){
11         str += " world";
12     }
13     public static void add(StringBuffer str){
14         str.append(" world");
15     }
16 }

可以看到StringBuffer对象可以修改内容,而String对象就不能改变其内容了。

所以StringBuffer类在字符串需要经常改变时使用。

 

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

String类和StringBuffer类的区别

java 问题:String类和 Bufstring类的区别是啥?谢谢

在java中String和StringBuffer的区别

String StringBuilder StringBuffer 的区别? 什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder对象的 append(代

大数据必学Java基础(五十):String类和StringBuilder类的讲解

String类和StringBuffer类