首页 > 解决方案 > stringBuillder append(CONST) 和 append("new string") 的区别

问题描述

我可以用下面的两个语句得到一些关于内存和运行时开销的具体解释吗?

  1. String CONST = "字符串常量"; StringBuilder sb1 = new StringBuilder();
    sb1.append(CONST);

  2. StringBuilder sb2 = new StringBuilder();
    sb2.append("字符串常量");

第二次创建字符串对象并添加到字符串池中吗?是否有任何情况(也考虑许多字符串附加)我们可以证明一个比另一个更好?

标签: javastringstringbuilder

解决方案


这两个版本之间的内存或运行时开销没有区别。

使用看起来更具可读性或可维护性的任何一个。如果您在许多地方重用相同的字符串常量,该常量很长,或者可能会改变,那么提取一个常量可能是合适的。


推荐阅读