日期:2014-05-20  浏览次数:20746 次

StringBuffer的问题
在使用如下的语句时:
Java code

String test = new String("some string");
StringBuffer sb = new StringBuffer(test);



StringBuffer在内存中是重新申请了一块空间,还是在原字符串上直接修改?
这里涉及到空间复杂度的问题- -

------解决方案--------------------

重新申请了一块空间。

原字符串不能修改。

---

不要用 StringBuffer , 用 StringBuilder
------解决方案--------------------
只要有new,肯定是在堆上新申请了一块内存。
探讨
在使用如下的语句时:

Java code


String test = new String("some string");
StringBuffer sb = new StringBuffer(test);



StringBuffer在内存中是重新申请了一块空间,还是在原字符串上直接修改?
这里涉及到空间复杂度的问题- -