Questions tagged «stringbuilder»

Stringbuilder是一个类,提供了在Java和.NET框架中使用文本数据的便捷高效的方法。


18
Java中toString()中的StringBuilder vs String串联
鉴于以下2种toString()实现方式,首选其中一种: public String toString(){ return "{a:"+ a + ", b:" + b + ", c: " + c +"}"; } 要么 public String toString(){ StringBuilder sb = new StringBuilder(100); return sb.append("{a:").append(a) .append(", b:").append(b) .append(", c:").append(c) .append("}") .toString(); } ? 更重要的是,假设我们只有3个属性,那么这可能没有什么不同,但是您将在什么时候从+concat 切换到 StringBuilder?

17
删除StringBuilder的最后一个字符?
当您必须遍历一个集合并用分隔符分隔每个数据的字符串时,总是总是在末尾使用一个额外的分隔符,例如 for (String serverId : serverIds) { sb.append(serverId); sb.append(","); } 类似于:serverId_1,serverId_2,serverId_3, 我想删除StringBuilder中的最后一个字符(不进行转换,因为在此循环之后我仍然需要它)。

9
如何将换行符追加到StringBuilder
我有一个StringBuilder对象 StringBuilder result = new StringBuilder(); result.append(someChar); 现在,我想在末尾添加一个换行符StringBuilder。我该怎么做? result.append("/n"); 不起作用。因此,我正在考虑使用Unicode编写换行符。请问有帮助吗?如果是这样,我如何添加一个?



12
是String.Format和StringBuilder一样有效
假设我在C#中有一个stringbuilder可以做到这一点: StringBuilder sb = new StringBuilder(); string cat = "cat"; sb.Append("the ").Append(cat).(" in the hat"); string s = sb.ToString(); 是否会比拥有以下产品效率更高或更有效? string cat = "cat"; string s = String.Format("The {0} in the hat", cat); 如果是这样,为什么? 编辑 经过一些有趣的回答后,我意识到我可能应该对自己的询问更加清楚。我并不是在问哪个连接字符串更快,但是哪个将一个字符串注入另一个更快。 在以上两种情况下,我都希望将一个或多个字符串注入到预定义模板字符串的中间。 对困惑感到抱歉


14
在循环中重用StringBuilder更好吗?
我有一个有关使用StringBuilder的性能相关问题。在一个很长的循环中,我正在操纵a StringBuilder并将其传递给另一个这样的方法: for (loop condition) { StringBuilder sb = new StringBuilder(); sb.append("some string"); . . . sb.append(anotherString); . . . passToMethod(sb.toString()); } StringBuilder在每个循环周期实例化是一个好的解决方案吗?而且像下面这样,调用delete会更好吗? StringBuilder sb = new StringBuilder(); for (loop condition) { sb.delete(0, sb.length); sb.append("some string"); . . . sb.append(anotherString); . . . passToMethod(sb.toString()); }



6
在SQL中使用StringBuilder的正确方法
我刚刚在我的项目中发现了一些这样的sql查询构建: return (new StringBuilder("select id1, " + " id2 " + " from " + " table")).toString(); 这是否StringBuilder达到其目标,即减少内存使用量? 我对此表示怀疑,因为在构造函数中使用了“ +”(字符串concat运算符)。像下面的代码那样,将占用与使用String相同的内存量吗?我了解,使用时有所不同StringBuilder.append()。 return "select id1, " + " id2 " + " from " + " table"; 两条语句的内存使用量是否相等?请澄清。 提前致谢! 编辑: 顺便说一句,这不是我的代码。在一个旧项目中发现它。而且,查询的大小不如我的示例中的查询小。:)


9
最佳实践/性能:将StringBuilder.append与String.concat混合
我试图了解什么是最佳实践,以及为什么要在不同情况下串联字符串文字和变量。例如,如果我有这样的代码 StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA") .append(B_String).append("CCCCCCCCCCC").append(D_String) .append("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE") .append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"); 这是这样做的方式吗?从这篇文章中,我注意到+Strings的运算符创建了一个StringBuilder的新实例,连接了操作数,并返回了String转换,这似乎比调用还多了很多.append();所以如果这是真的,那是不可能的。但是呢String.concat()?是否适合.append()用于每个串联?或仅用于变量,文字可以追加.concat()吗? StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA") .append(B_String.concat("CCCCCCCCCCC")).append(D_String .concat("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE") .concat("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF")); 应对这些情况的最佳做法和性能的一般规则是什么?我的假设是正确的,+真的不应该使用吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.