直接追加String或使用StringBuilder

时间:2015-08-18 04:57:33

标签: java string 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或何时直接追加?

2 个答案:

答案 0 :(得分:2)

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

  

现在,如果您的问题是我应该选择哪一个?

答案是其中任何一个,你不应该为此烦恼。StringBuilder只能与循环有所不同,除此之外,两个案例几乎相同。

答案 1 :(得分:1)

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

接下来,如果所有字符串都可以标记为final,那么直接使用+,因为在+ final上使用StringBuilder字符串(这是编译时常量)实际上是编译时操作。

如果您不想执行上述两项操作,请使用+连接字符串(即使字符串StringBuilder在内部使用{{1}}完成。< / p>