直接追加字符串或使用 StringBuilder

Append String directly or use StringBuilder

假设我有 3 个字符串变量:

String firstName =  "aaa";
String middleName =  "bbb";
String lastName =  "cccc";

要追加字符串变量,我们可以使用:

String fullName = firstName + "-" + middleName + "-" +lastName ;

或者我们可以使用 StringBuilder:

StringBuilder builder = new StringBuilder();
builder.append(firstName);
builder.append("-");
builder.append(middleName);
builder.append("-");
builder.append(lastName);
String fullName = builder.toString();

什么时候使用StringBulider,什么时候直接追加?

最简单的方法:如果您可以访问 apache common,则可以使用 StringUtils.join().

接下来,如果所有字符串都可以标记为final,则直接使用+,就像在final字符串(编译时常量)上使用+一样实际上是一个编译时操作。

如果,你不想做上面的两件事,那么使用 StringBuilder 来连接字符串(即使 + on Strings 是在内部使用 StringBuilder 完成的。

作为一名程序员,我们应该始终关心代码的可读性,第一种情况对我来说比第二种情况更具可读性。

Now if your question is which one should I choose ?

比答案是他们中的任何一个,你不应该为此烦恼。StringBuilder 只与 loop 有所不同,除此之外,目前这两种情况都是几乎一样。