String vs StringWriter用于处理大型String

时间:2013-12-11 14:24:02

标签: java java-ee web-applications freemarker

我必须在我的项目中处理一个大字符串,它是一个简单页面的html。

为此,我有两种可能性:使用String类或使用StringWriter。我想知道在性能和内存使用方面最好的是什么。

有什么区别,你有什么建议?

4 个答案:

答案 0 :(得分:1)

字符串是不可变的,所以如果你的字符串必须以某种方式构建或者它变化很多 - 字符串就没有用了。 我推荐StringBuilder

答案 1 :(得分:0)

String是一个不可变类,无法更改。 StringBuilder是一个可变类,可以追加,替换或删除字符,最终转换为String

StringWriter基本上是一个适配器,可以将StringBuffer调整为Writer接口。

请注意,如果您使用的是Java 5或更高版本,则应使用StringBuilder代替StringBuffer。从API文档:

  

自JDK 5发布以来,该类已经补充了一个等效类,专为单个线程StringBuilder使用而设计。通常应优先使用StringBuilder类,因为它支持所有相同的操作,但它更快,因为它不执行同步。

More

答案 2 :(得分:0)

通常选择在StringStringBuilder之间,而不是StringWriter

StringWriter是一个字符输出流,我想这不是你需要的。

String是一个不可变类型,因此一旦创建它的值就无法修改。当您需要对字符序列进行许多操作时,StringBuffer会更有用。

因此,如果您需要连接大量字符串,那么我将转到StringBuffer

Here你发现了一篇有趣的帖子。看一看。

答案 3 :(得分:0)

如果文字的长度非常长,则应使用StringBuilder