直接追加字符串或使用 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 有所不同,除此之外,目前这两种情况都是几乎一样。
假设我有 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 有所不同,除此之外,目前这两种情况都是几乎一样。