String与StringBuilder两者之间的区别

String是固定不变的,在进行字符串连接的时候是新建一个字符串,进行连接后,最后赋值,
如果对String赋值多次,就会在内存中保存多个这个对象的副本,浪费系统资源

StringBuilder是可变的,不用生成中间对象,拼接字符串比较多,或字符串的长度比较长时有较高的效率。
StringBuilder的内存空间不够也要扩容,如果分配的空间远远大于需要量,也很浪费
所以,初始化StringBuilder的时候最好根据需要设置容量,避免浪费

string strTest = "";
strTest += "name: " ;

StringBuilder strTest = new StringBuilder(50);
strTest.Append("name: ");

StringBuilder strTest = new StringBuilder();
strTest.Append("name: ");

posted @ 2008-12-15 18:34  日落无语  阅读(226)  评论(0编辑  收藏  举报