字符串 vs. 字符串构建器

233

我知道StringStringBuilder之间的区别(StringBuilder可以被修改),但是这两者之间有很大的性能差异吗?

我正在开发的程序具有许多基于情况的字符串追加(500+)。使用StringBuilder是更好的选择吗?

24个回答

0

字符串拼接会消耗更多的资源。 在Java中,您可以根据需要使用StringBuffer或StringBuilder。 如果您需要同步和线程安全的实现,请选择StringBuffer。这比字符串拼接更快。

如果您不需要同步或线程安全的实现,请选择StringBuilder。 这比字符串拼接更快,也比StringBuffer更快,因为它们没有同步开销。


-1

从内存角度来看,使用StringBuilder性能更佳。至于处理方面,执行时间的差异可能可以忽略不计。


-1

StringBuilder可能更可取。原因是它分配比当前需要的空间更多(您设置字符数)以留出未来附加的空间。然后,适合当前缓冲区的那些未来附加不需要任何内存分配或垃圾收集,这可能很昂贵。通常,我用StringBuilder进行复杂字符串连接或多个格式化,然后在数据完成并且我再次想要一个不可变对象时将其转换为普通字符串。


-1
通常来说,如果我需要多次设置字符串的值,或者有任何对字符串的追加操作,那么就需要使用字符串构建器。在学习字符串构建器之前,我曾经编写过一些应用程序,它们具有巨大的内存占用量,而且似乎不断增长。将这些程序更改为使用字符串构建器可以显著减少内存使用量。现在我对字符串构建器非常信赖。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接