String、StringBuffer和StringBuilder区别
1、StringBuffer和StringBuilder非常的类似,均表示字符可变序列,方法也一样。
2、String表示不可变的字符序列,效率低,复用性高。
3、StringBuffer表示字符可变序列,效率较高(增删),线程安全,通常用在处理多线程。
4、StringBuilder表示字符可变序列,效率比StringBuffer高,线程不安全,通常用在单线程。
应用场景
1、如果字符串需要大量修改,一般使用StringBuilder或StringBuffer
1、如果字符串需要大量修改,在多线程情况,使用StringBuffer
1、如果字符串需要大量修改,在单线程情况,使用StringBuilder
1、如果字符串很少修改,被多个对象引用,使用String,例如配置信息
String s1 = "Hello"
String s2= "World"
String s3 = s1 + s2 的内存布局
首先先new StringBuilder,在堆中开辟一个空间,通过appen方法添加,之后看常量池有没有HelloWorld,没有就开个空间存放。堆中指向常量池地址,s3指向堆中的地址。
posted @
2022-09-20 12:15
伤逝l
阅读(
85)
评论()
收藏
举报