关与JavaString,StringBuilder,StringBuffer的区别
String,StringBuilder,StringBuffer
1.String:字符串常量,是不可变对象,每次对String类型进行改变都等同于生成了一个新的String对象,速度慢. 适用于少量字符串操作的情况.
2.StringBuffer:字符串变量,它的对象是可以扩充和修改的其中很多方法有synchronized关键字,是线程安全的可变字符序列,速度较快.适用于多线程下在字符缓冲区进行大量操作的情况
3.StringBuilder,JDK1.5之后推出的与StringBuffer兼容的API,用作StringBuffer的一个简单替换,单个线程使用时,建议优先采用,它比StringBuffer速度要快.适用于多线程下载字符缓冲区进行大量操作的情况.
package String;
/**
* 由于String的设计不适合频繁修改,对此Java提供一个
* 用于编辑字符串内容的类:StringBuilder
* StringBulider内部维护了一个可变的字符数组,不会每次
* 修改都来创建对象,从而降低资源开销,提高执行效率.
* 其提供了方便编辑字符串内容的相关方法,包含
* 曾删改插等常见操作
* @author Administrator
*/
public class StringBuilderDemo {
public static void main(String[] args) {
String str="好好学习java";
/*
* 常见构造方法:
* StringBuild():无参,默认表示空字符串
* StringBulid(String str):表示给定内容
*/
StringBuilder bu=new StringBuilder(str);
/*
* 好好学习
* 好好学习,找工作
* append():向当前字符串末尾追加给定内容
*/
bu.append(",找工作");
String s=bu.toString();
System.out.println(s);
}
}