标签: stringbuilder

StringBuilder和StringBuffer之间的区别

StringBuffer和之间的主要区别是StringBuilder什么?在决定其中任何一个时,是否存在任何性能问题?

java stringbuilder stringbuffer

1510
推荐指数
18
解决办法
77万
查看次数

StringBuilder vs Java中toString()的字符串连接

鉴于toString()下面的两个实现,首选哪一个:

public String toString(){
    return "{a:"+ a + ", b:" + b + ", c: " + c +"}";
}
Run Code Online (Sandbox Code Playgroud)

要么

public String toString(){
    StringBuilder sb = new StringBuilder(100);
    return sb.append("{a:").append(a)
          .append(", b:").append(b)
          .append(", c:").append(c)
          .append("}")
          .toString();
}
Run Code Online (Sandbox Code Playgroud)

更重要的是,鉴于我们只有3个属性,它可能没有什么区别,但你会在什么时候从+concat 切换到 StringBuilder

java string performance stringbuilder concatenation

889
推荐指数
12
解决办法
34万
查看次数

如何清除或清空StringBuilder?

我在一个循环中使用一个StringBuilder,每个x迭代我想要清空它并以空的开头StringBuilder,但是在文档中我看不到任何类似于.NET StringBuilder.Clear的方法,只是看起来像删除方法过于复杂.

那么StringBuilder用Java 清理一个最好的方法是什么?

java stringbuilder

598
推荐指数
9
解决办法
46万
查看次数

删除StringBuilder的最后一个字符?

当你必须遍历一个集合并用分隔符分隔每个数据的字符串时,你最终总会得到一个额外的分隔符,例如

for (String serverId : serverIds) {
  sb.append(serverId);
   sb.append(",");
}
Run Code Online (Sandbox Code Playgroud)

给出类似:serverId_1,serverId_2,serverId_3,

我想删除StringBuilder中的最后一个字符(没有转换它,因为我在这个循环之后仍然需要它).

java stringbuilder

391
推荐指数
11
解决办法
28万
查看次数

如何在StringBuilder中附加换行符

我有一个StringBuilder对象,

StringBuilder result = new StringBuilder();
result.append(someChar);
Run Code Online (Sandbox Code Playgroud)

现在我想在其中添加一个换行符StringBuilder.我该怎么做?

result.append("/n"); 
Run Code Online (Sandbox Code Playgroud)

不行.所以,我正在考虑使用Unicode编写换行符.这会有帮助吗?如果是这样,我该如何添加?

java stringbuilder

221
推荐指数
5
解决办法
34万
查看次数

String,StringBuffer和StringBuilder

请告诉我一个实时的情况来比较String,StringBufferStringBuilder

java oop string stringbuilder

206
推荐指数
6
解决办法
16万
查看次数

168
推荐指数
6
解决办法
13万
查看次数

String.Format与StringBuilder一样高效

假设我在C#中有一个stringbuilder来执行此操作:

StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

那将是有效的或更高效的:

string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

编辑

在一些有趣的答案之后,我意识到我可能应该对我的要求更加清楚.我没有那么多要求连接字符串哪个更快,但是一个字符串注入另一个字符串更快.

在上面两种情况下,我想将一个或多个字符串注入预定义模板字符串的中间.

对困惑感到抱歉

c# vb.net performance stringbuilder string.format

157
推荐指数
7
解决办法
6万
查看次数

在循环中重用StringBuilder会更好吗?

我有关于使用StringBuilder的性能相关问题.在一个很长的循环中,我正在操纵a StringBuilder并将其传递给另一个方法,如下所示:

for (loop condition) {
    StringBuilder sb = new StringBuilder();
    sb.append("some string");
    . . .
    sb.append(anotherString);
    . . .
    passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)

StringBuilder在每个循环周期实例化是一个很好的解决方案吗?并且更好地调用删除,如下所示?

StringBuilder sb = new StringBuilder();
for (loop condition) {
    sb.delete(0, sb.length);
    sb.append("some string");
    . . .
    sb.append(anotherString);
    . . .
    passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)

java string performance stringbuilder

97
推荐指数
6
解决办法
7万
查看次数

C#或Java:使用StringBuilder预先添加字符串?

我知道我们可以使用附加字符串StringBuilder.有没有办法我们可以预先添加字符串(即在字符串前添加字符串),StringBuilder这样我们可以保持提供的性能优势StringBuilder

c# java stringbuilder

97
推荐指数
6
解决办法
6万
查看次数