本帖最后由 TTOS3302041 于 2009-08-10 16:44:19 编辑

解决方案 »

  1.   

    通过非官方试验测试,StringBuilder和StringBuffer的测试总结如下: 
    1.  为了获得更好的性能,在构造 StirngBuffer 或 StirngBuilder 时应尽可能指定它的容量。当然,如果你操作的字符串长度不超过 16 个字符就不用了。 2.  相同情况下使用 StirngBuilder 相比使用 StringBuffer 仅能获得 10%~15% 左右的性能提升,但却要冒多线程不安全的风险。而在现实的模块化编程中,负责某一模块的程序员不一定能清晰地判断该模块是否会放入多线程的环境中运行,因此:除非你能确定你的系统的瓶颈是在 StringBuffer 上,并且确定你的模块不会运行在多线程模式下,否则还是用 StringBuffer 吧 J 3.  用好现有的类比引入新的类更重要。很多程序员在使用 StringBuffer 时是不指定其容量的(至少我见到的情况是这样),如果这样的习惯带入 StringBuilder 的使用中,你将只能获得 10 %左右的性能提升(不要忘了,你可要冒多线程的风险噢);但如果你使用指定容量的 StringBuffer ,你将马上获得 45% 左右的性能提升,甚至比不使用指定容量的 StirngBuilder 都快 30% 左右。
      

  2.   

    很不幸,哥们,我刚看过这段,你就复制上来了,是从javaeye上copy过来的,没错吧?要的是自己使用的经验以及简单示例,而不是随手拈来的理论
      

  3.   

    SQL语句的拼接用这个比较多,还有就是复杂string的操作
      

  4.   

    两者之间没有什么经验,看API说明做就可以了.
    但StringBuilder(或StringBuffer)与String之间有差距就太大了.当你代码中用到大量的字符串连接时,要用StringBuilder,和String的直接连接,无论从空间上还是时间上都差太多了。可能有几十倍之多吧,某个贴子中守望者曾经测试过。
      

  5.   

    支持楼上,反正线程安全的区别你已经知道了,其他的么如键盘说的看看API就知道了
      

  6.   

    bigbug9002 呵呵,倒处都能见到你的身影啊
      

  7.   


    对不起,我在抢分.第一目标升"猩"。
    我计划下个月开始闭关学j2ee.
    下个月来的就少了。以后到j2ee去抢分
      

  8.   

    J2EE 版块连帖子都没啥还抢分啊?Java 版就“Java Web”和“Java基础类”火,其他版块几乎处于僵死状态。
      

  9.   

    StringBuffer构造字符串的连接方便,而且引用不改变,对象内容可以改变大小,String
    是不可变的,每次都要生成新的引用,耗内存!