StringBuilder是什么意思

可以用个让人很容易理解的例子告诉我它的意思吗... 可以用个让人很容易理解的 例子告诉我它的意思吗 展开
 我来答
lujiaxing
推荐于2018-05-10 · TA获得超过672个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:229万
展开全部
这个东西的存在看似很没有道理
但是其实是这样的.

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

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

你还是查一下MSDN吧
(JAVA里也有这个.类似的还有StringBuffer参见JAVA API)
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
Dykiy
2008-06-13
知道答主
回答量:52
采纳率:0%
帮助的人:0
展开全部
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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6752a95
2018-12-26
知道答主
回答量:10
采纳率:0%
帮助的人:7011
展开全部

StringBuilder叫字符串衫埋缓存区对象,使用时可以不断添或乎蚂加字符、字符串等已有内容

需要使用时调用toString()获得对象里的所有字符串。

作用:

  1. 简化字符串常量池的个数,节省内存。

  2. StringBuilder相当于一个池子,可以存放很多已有的字符串,使用时可以以此获得很长的字顷卜符串,从而优化程序。

  3. JDK底层使用StringBuilder实现字符串拼接。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jarzhang
2008-06-14 · TA获得超过109个赞
知道答主
回答量:31
采纳率:0%
帮助的人:17.6万
展开全部
简单地说比直接拼接字符串效率高,也更节省内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式