社区
Java SE
帖子详情
什么时候用String,什么时候用StringBuffer
likgui
2007-08-13 11:31:48
rt
...全文
1690
23
打赏
收藏
什么时候用String,什么时候用StringBuffer
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ted03
2007-08-14
打赏
举报
回复
一句话,StringBuffer 适合变化的需要。
octopus1
2007-08-14
打赏
举报
回复
这是正解:
记住他们的区别
String不可以修改值,也就是说
String a="BBB";
这个时候系统产生一个空间去放BBB
a="BBBA"
这个时候系统再产生一个空间去放BBBA,这样就产生了2个地址空间了
每次String改变系统都要生成一个新的空间
而StringBuffer则不同
StringBuffer a = new StringBuffer("AAA");
这个时候系统产生一个空间放AAA
a.append("B"),这个时候a也会=AAAB
但是他放在原来的空间不会新产生空间,这样就节省系统资源了
daniel_kaka
2007-08-14
打赏
举报
回复
现在都用StringBuilder了~~
SBtoSB
2007-08-14
打赏
举报
回复
嫩B用String
zdjray
2007-08-14
打赏
举报
回复
为啥总喜欢找特例?
不是说了一般来说么-_-b
yangpeiyu
2007-08-14
打赏
举报
回复
一般来说String体积小
StringBuffer处理字符串效率高
-----------------------------------
这个不一定的..如果你一两个字符连接还StringBuffer不如String
sharpfire
2007-08-14
打赏
举报
回复
一般情况下用string
对同一个字符串处理比较多的时候用stringBuffer
hcxy413
2007-08-14
打赏
举报
回复
String不能改,StringBuffer能改!
moonstorm
2007-08-14
打赏
举报
回复
楼上有两个朋友说的很对了,再重复一下,希望楼主能记住:
String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String
另外,对于 String 我们不得不多说几句:
1.它是引用类型,在堆上分配内存
2.运算时会产生一个新的实例
3.String 对象一旦生成不可改变(Immutable)
3.定义相等运算符(== 和 !=)是为了比较 String 对象(而不是引用)的值
CrazyGou
2007-08-13
打赏
举报
回复
StringBuffer效率不见得高....
joejoe1991
2007-08-13
打赏
举报
回复
要经常改变字符串内容的时候 用StringBuffer
yjgoo199
2007-08-13
打赏
举报
回复
应该是字符串需要大量的追加,修改的时候,就用StringBuffer,这样效率很高。
dd4ll
2007-08-13
打赏
举报
回复
字符串需要改变的时候用StringBuffer 不用变的字符串用String
internet2006yn
2007-08-13
打赏
举报
回复
记住他们的区别
String不可以修改值,也就是说
String a="BBB";
这个时候系统产生一个空间去放BBB
a="BBBA"
这个时候系统再产生一个空间去放BBBA,这样就产生了2个地址空间了
每次String改变系统都要生成一个新的空间
而StringBuffer则不同
StringBuffer a = new StringBuffer("AAA");
这个时候系统产生一个空间放AAA
a.append("B"),这个时候a也会=AAAB
但是他放在原来的空间不会新产生空间,这样就节省系统资源了
zdjray
2007-08-13
打赏
举报
回复
偷懒的时候用String
要效率的时候用StringBuffer
一般来说String体积小
StringBuffer处理字符串效率高
codeartisan
2007-08-13
打赏
举报
回复
JDK5.0以后,多线程用StringBuffer,单线程用StringBuilder
youandi79
2007-08-13
打赏
举报
回复
String是不变类,确实不适合用来组织字符串。
StringBuffer sb=new StringBuffer();
sb.append("a");
sb.append("b");
sb.append("c");
这段代码生成4个对象a,b,c,abc
String s = "a" + "b" + "c";
这段代码生成5个对象a,b,c,ab,abc
tricolors
2007-08-13
打赏
举报
回复
想什么时候用,看你了
tdy1234
2007-08-13
打赏
举报
回复
StringBuffer 主要是用于字段追加 效率比较高吧
String 主要是用于定长字段
alvinz
2007-08-13
打赏
举报
回复
大多时候是拼字符串的时候用StringBuffer 就向楼上拼sql语句
加载更多回复(3)
String
及
String
Buffer
和
String
Builder的区别
String
及
String
Buffer
和
String
Builder的区别
java
String
和
String
Buffer
的区别
JAVA平台提供了两个类:
String
和
String
Buffer
,它们可以储存和操作字符串,即包含多个字符的字符数据.这个
String
类提供了数值不可改变的字符串.而这个
String
Buffer
类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用
String
Buffer
.典型地,你可以使用
String
Buffer
s来动态构造字符数据.
什么时候用
String
,
String
Builder,
String
Buffer
String
: 在字符串不经常发生变化的业务场景优先使用
String
(代码更清晰简洁)。如常量的声明,少量的字符串操作(拼接,删除等)。
String
str = “aa”+“bb”+“cc”; 像这种没有变量的字符串,编译阶段就直接合成"aabbcc"了,然后看字符串常量池(下面会说到常量池)里有没有,有也直接引用,没有就在常量池中生成,返回引用。 如果是带变量的,其实影响也不大,JVM会帮我...
Java-什么时候用
String
Buffer
什么时候用
String
Builder?
1.Java中的
String
,
String
Builder,
String
Buffer
三者的区别 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 运行速度:
String
str="abc"; System.out.println(str); str=str+"de"; System.out.println(str); 如果运行这段代码会发现先输出“abc”,然后又输出“abcde”,好像是str这个对象被更改了,其实,这只是一种假象罢了,JVM对于这几行代码是这样处理的,首先创.
5、
String
、
String
Buffer
、
String
Builder区别及使用场景
String
、
String
Buffer
、
String
Builder区别及使用场景
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章