我必须在我的项目中处理一个大字符串,它是一个简单页面的html。
为此,我有两种可能性:使用String
类或使用StringWriter
。我想知道在性能和内存使用方面最好的是什么。
有什么区别,你有什么建议?
答案 0 :(得分:1)
字符串是不可变的,所以如果你的字符串必须以某种方式构建或者它变化很多 - 字符串就没有用了。
我推荐StringBuilder
。
答案 1 :(得分:0)
String
是一个不可变类,无法更改。 StringBuilder
是一个可变类,可以追加,替换或删除字符,最终转换为String
。
StringWriter
基本上是一个适配器,可以将StringBuffer
调整为Writer接口。
请注意,如果您使用的是Java 5或更高版本,则应使用StringBuilder
代替StringBuffer
。从API文档:
自JDK 5发布以来,该类已经补充了一个等效类,专为单个线程
StringBuilder
使用而设计。通常应优先使用StringBuilder
类,因为它支持所有相同的操作,但它更快,因为它不执行同步。
答案 2 :(得分:0)
通常选择在String
和StringBuilder
之间,而不是StringWriter
。
StringWriter
是一个字符输出流,我想这不是你需要的。
String是一个不可变类型,因此一旦创建它的值就无法修改。当您需要对字符序列进行许多操作时,StringBuffer会更有用。
因此,如果您需要连接大量字符串,那么我将转到StringBuffer
。
Here你发现了一篇有趣的帖子。看一看。
答案 3 :(得分:0)
如果文字的长度非常长,则应使用StringBuilder