一,String 的特性
1,String是final类型,每次声明的都是不可变的对象,
2,所以每次操作都会产生新的String对象,然后将指针指向新的String对象。
注意:如下两者的内存分配方式是不一样的:
String s1 = "java";
String s2 = new String("java");
其中s1指向常量池,s2指向堆内存
二,StringBuffer,StringBuilder都是在原有对象上进行操作
所以,如果需要经常改变字符串内容,则建议采用这两者,因为不用一直开辟内存
三,StringBuffer vs StringBuilder
前者是线程安全的,后者是线程不安全的。
线程不安全性能更高,所以在开发中,优先采用StringBuilder.
StringBuilder > StringBuffer > String
610

被折叠的 条评论
为什么被折叠?



