string与stringbuffer的区别

来源:互联网 发布:剑灵灵女萌妹子数据 编辑:程序博客网 时间:2024/04/30 15:15


1. String对项内容是不可改变的,StringBuffer是可以改变的,别且高效;

2. String
String a = "123";
a = a + "456";
上面两句,虽然a的值最终改变了,但是实际上在编译的时候,第一句a是一个对象,被分配了一个地址,第二句执行时,原来的a被释放,然后重新分配。
a 原本指向一 String object instance ("123"), a + "456" 會造出另一新的 String object instance ("123456"), 然後 a 再指向這新的 String instance.

3. StringBuffer
StringBuffer b = new StringBuffer("asd");
b.append("fgh");
在这个过程中,只存在b这么一个对象,b 一直都指向一個 StringBuffer instance. append 也只是改變此 instance 的內容而已.
 

原创粉丝点击