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类在字符串需要经常改变时使用。

 

posted @ 2018-01-14 16:37  weller  阅读(3728)  评论(0编辑  收藏  举报