若某些场景下需要频繁修改字符串的内容,JDK提供了两个新的类,用来处理子符串内容修改的~
StringBuffer StringBuilder 所有方法名称,具体使用都一模一样
StringBuffer线程安全,效率极低
StringBuilder线程不安全,效率较高,不考虑安全问题,优先使用StringBuilder类。
StringBuilder和String是两个独立的类,字符串的常量池保存的都时String对象。
StringBuilder对象内部可以修改的。
String -> StringBuilder 要么通过StringBuilder的构造方法,要么通过append方法
StringBuilder -> String 通过toString()方法
***重点***String,StringBuilder,StringBuffer的区别
1.String的内部不可修改,StringBuilder和StringBuffer是可变对象,可以修改其内容
2.StringBuffer采用synchronized方法(同步)处理,线程安全,效率极低
3.StringBuilder采用异步处理,线程不安全,效率较高;
一般不要求线程安全的场景下,推荐使用StringBuilder
4.String对象 " += "(拼接操作),其实编译器会默认优化调用StringBuilder的append方法~