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类的区别的主要内容,如果未能解决你的问题,请参考以下文章
java 问题:String类和 Bufstring类的区别是啥?谢谢
String StringBuilder StringBuffer 的区别? 什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder对象的 append(代