永发信息网

StringBuilder是什么意思

答案:3  悬赏:10  手机版
解决时间 2021-01-07 18:20
StringBuilder是什么意思
最佳答案
这个东西的存在看似很没有道理
但是其实是这样的.

举个例子:
你拼字符串一般是怎么拼呢?
String city="上海";
String a="您好,欢迎来到"+city;
是吧?
但是这样做的意思是什么?
电脑会在内存中令开辟一块内存空间,
实例化一个新的String类来保存它.
如果有大量字符串操作,这么做肯定是很消耗内存的.并且效率低下
所以,StringBuilder出现了.
他不能+,但是它有Append和Remove等函数来实现拼接和删除字符串.
在操作字符串的时候,他不会再重新实例化一个类
这样可以节省内存,提高效率。

当然,他还有N多函数.可以对字符串作各种操作.可以说是一个字符串工具箱!

你还是查一下MSDN吧
(JAVA里也有这个.类似的还有StringBuffer参见JAVA API)
全部回答
简单地说比直接拼接字符串效率高,也更节省内存。
String str1 = "myString";
String str2 = "myString";
str1和str2 具有相同的指针 也就是 内存中只有一个myString
如果 改变str1的值 并不会改变myString内存的值 会在内存中重新划分一块区域来存储新的字符串 同时改变str1的指针
StringBuilder则不一样 当你new一个StringBuilder时就会划分一块内存给StringBuilder实例使用 当你Append或Remove或进行其他操作是并不会重新分配内存 除非你的新字符串长度超过了StringBuilder实例的默认大小才会重新分配内存
String 或 StringBuilder 对象的串联操作的性能取决于内存分配的发生频率。String 串联操作每次都分配内存,而 StringBuilder 串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。因此,如果串联固定数量的 String 对象,则 String 类更适合串联操作。这种情况下,编译器甚至会将各个串联操作组合到一个操作中。如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作;例如,某个循环对用户输入的任意数量的字符串进行串联。(MSDN)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
果本和法兰琳卡哪个好?
这糯化的翡翠市场价多少
在嘉禾地铁站663路公交车在哪个方向
成人教育脱产属于全日制吗?
急!求助遇到以下紧急情况,主持人应该如何解
南澳是哪里的
我的电脑是xps13-9365,重装了win8.1的系统,
一个不计重力的带正电荷的粒子,沿图中箭头所
super junior的金厉旭为什麽被称作分手大师,
克姆陪您宠艺工作室地址在什么地方,我要处理
2011年考过了证券市场基础知识和交易,现在要
四神集团的所有小说百度云
亚马逊平台上产品的标题写了with pocket时,
温馨提示楼上衣服要脱水
中南关系为何能取得丰硕成果?
推荐资讯
建筑木工钢管支木架
有照字也有一字的诗句
小型连铸机哪里的好
用什么木质做的二胡声音最好?
再青春我想知道这个在什么地方
如何描述企业发展战略规划
洛克王国怎么抓生命黄灵
2009上海国际丰展上,展出的新能源车型和清洁
什么手机软件可以打开xps格式文件
杀猪厂可以作为厂房吗
(x-1)(x+2)>0的解集是什么呀
赵匡任在杯酒释兵权后造成不良的局面是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?