打印

今天被String郁闷了。。

今天被String郁闷了。。

好久没用Java了,用惯了.net了。。。。。。结果今天被java小折磨一下。。。

今天用java做系统的时候,由于一些特殊原因必须由后台生成一段HTML代码
结果发现,速度奇慢。。。。大致写法如下

        StringBuffer Html=new StringBuffer(10000);

        String RowHtml="";
        for(int i=0;i<xxx.length;i++)}
           RowHtml+="<tr><td></td></tr>";
        }
        Html.append(RowHtml);
实际运算比这个复杂很多,意思如此。。。后来在经过近一个小时的郁闷和测试以后,发现原来是String的问题。。
如果改写成这个样子速度明显提升。。

        StringBuffer Html=new StringBuffer(10000);

        StringBuffer RowHtml=new StringBuffer(1000);
        for(int i=0;i<xxx.length;i++)}
           RowHtml。append("<tr><td></td></tr>");
        }
        Html.append(RowHtml);


学无止境啊,小问题包含大道理。道理俺就不阐述了,免得有班门弄斧之嫌。。。。。
baidu解释的比俺清楚。。。。

小弟初来乍到,以后还望各位前辈多多指教。收工睡觉。。。。

TOP

字符串大量连接操作用buffer会效率高些。
估计lz在写一个javaBean吧呵呵。

TOP

嗯,像这种动态的字符串拼凑,还是用buffer好一些,静态的字符串拼凑就用String好一些,因为在编译的时候会做优化,而StringBuffer就不会。

TOP

引用:
原帖由 admin 于 2008-6-14 12:23 发表
嗯,像这种动态的字符串拼凑,还是用buffer好一些,静态的字符串拼凑就用String好一些,因为在编译的时候会做优化,而StringBuffer就不会。
意思差不多。。。o(∩_∩)o...
昨天被String郁闷了好久   以前习惯了那么用。。
因为处理内容很少  所以根本感觉不到速度不同。。

TOP

????
String RowHtml="";
        for(int i=0;i<xxx.length;i++)}
           RowHtml+="<tr><td></td></tr>";
        }
就算是在.net中,这种写法也不快吧。
孤鸿海上来,池潢不敢顾。

TOP

引用:
原帖由 feng1959 于 2008-6-27 11:48 发表
????
String RowHtml="";
        for(int i=0;i
问题是.net中很少用到后台生成大批量HTML

TOP

.net  StringBuffer

TOP