讨论:在JDK1.5,StringBuffer比String有多大优势?,String 与 StringBuffer类

myepoch 2006-12-13 01:57:52
String 与 StringBuffer类

--------------------------
String sb = "hello";
sb = sb + "world";

------------------------
StringBuffer sb = new StringBuffer();
sb.append("hello");
sb.append(" world");
System.out.println(sb.toString());
-----------------
在JDK1.5,StringBuffer比String有多大优势?
...全文
386 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
88324877 2006-12-13
  • 打赏
  • 举报
回复
StringBuffer个改来改去方便,String改来改去不方便 我就知道这些。
Hypercube1024 2006-12-13
  • 打赏
  • 举报
回复
没有直接清空的方法
既然你知道String s = "";
那么直接用
StringBuffer sb = new StringBuffer();
不就够了??
约翰羊 2006-12-13
  • 打赏
  • 举报
回复
请问StringBuffer如何一次性清空所有的内容?就像string = ""的效果.
Hypercube1024 2006-12-13
  • 打赏
  • 举报
回复
在jdk5.0里面这样的测试如果用 StringBuilder 比 Stringbuffer 还要快不少
烂番 2006-12-13
  • 打赏
  • 举报
回复
private static void check()
{
String str = "abc";
StringBuffer stb = new StringBuffer("abc");

long time = System.currentTimeMillis();
for (int i = 0; i < 10000; i++)
{
str = str + "tt";
}

System.out.println(System.currentTimeMillis() - time);
time = System.currentTimeMillis();

for (int i = 0; i < 10000; i++)
{
stb.append("tt");
}
System.out.println(System.currentTimeMillis() - time);
}
====================
的确速度不在一个等级:上面的输出如下: (多运行几次,结果大致差不多)
701
10
不知道内部到底有什么差别
malligator 2006-12-13
  • 打赏
  • 举报
回复
不一样的东西怎么比呀
hdhmail2000 2006-12-13
  • 打赏
  • 举报
回复
StringBuffer处理的方法要多很多,而且很方便
烂番 2006-12-13
  • 打赏
  • 举报
回复
个人调试的时候,明显感觉在StringBuffer.append()方法都会卡一下
可是总有人说直接把String对象相加效率会低很多,但StringBuffer要预先分配很大一块内存的呀?
dreamover 2006-12-13
  • 打赏
  • 举报
回复
自己
for(int i=0;i<10000;i++)
试试

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧