【发布时间】:2013-01-24 19:45:08
【问题描述】:
选项 1:
String newStr = someStr + 3 + "]";
选项 2:
String newStr = someStr + "3" + "]";
就性能、内存和一般做法而言,哪个选项更好? 我可以使用哪些推荐的工具/方法来测量我的代码的内存使用情况及其性能(除了测量开始时间和结束时间并计算差异)
【问题讨论】:
-
两者都没有任何区别。
-
@Smit:编译器将使用
StringBuilder进行字符串连接 -
@Smit:使用 StringBuilder 会导致与问题中的代码相同的字节码,或者更糟。
-
@JBNizet 和 @jlordo 但这个 SO 答案说的不同。我理解错了什么? How Java do the string concatenation using “+”?
-
阅读答案的结尾和 cmets。答案是先弄错了,然后再试着改正。阅读 Mikhail Vladimirov 对这个问题的回答。
标签: java string concatenation primitive