String与StringBuffer的异同点

来源:互联网 发布:上海岂凡网络 知乎 编辑:程序博客网 时间:2024/05/04 03:09

String类型:

String的字符串长度是不可变的,

String s1="abc"; s1="def";

只是s1的引用指向的位置发生改变,“abc”对象在堆内存中依然存在,Java的垃圾回收机制到时候会回收回去,

对于经常检索的字符串,使用String类型合适,效率高

常用的方法有charAt()、indexOf 、subString()

StringBuffer类型:

StringBuffer声明的对象字符串的长度是可变的,

当重新给声明的对象继续添加字符串时,堆内存中的地址并未发生变化,只是内容改变而已;

对于经常修改的字符串类型,使用合适,

StringBuffer buffer = new StringBuffer(“abc”) ;

常用的方法有:buffer.append()、buffer.insertChar()、buffer.deleteChar();

StringBuffer是一个JDK的类型,String是基本的引用对象类型

String str1= new String("abc");

StringBuffer buffer  = new StringBuffer(str1);

String str2 = buffer.toString();

String和StringBuffer之间可以相互转换。

原创粉丝点击