public class Test08 { public static void main(String[] args) { String x=new String(); 1./*string是不可变长高度,String类当中有一个byte[]数组,这个byte[]数组采用了fianl修饰,因为数组一旦创建长度不可变, 并且被final修饰的引用一旦指向某个对象后,不可再指向其他对象*/ StringBuffer stringBuffer = new StringBuffer(); //StringBuffer是可变长度,StringBuffer所有的方法都是synchronized关键字修饰。表示线程安全的 /*这个byte[]数组没有被final修饰,StringBuffer,StringBuilder的初始化容量是16。当存满之后会进行扩容,底层调用了数组拷贝的方法,System.arraycope()是这样扩容的,所以StringBuffer,StringBuilder更加适合字符串的拼接*/ StringBuilder stringBuilder = new StringBuilder(); //StringBuilder是可变长度,StringBuilder所有的方法都没有synchronized关键字修饰,表示线程不安全 } }
String,StringBuffer,StringBuilder的区别!
最新推荐文章于 2024-05-13 19:51:02 发布