相关疑难解决方法(0)

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万
查看次数

在SQL中使用StringBuilder的正确方法

我刚在我的项目中发现了一些这样的sql查询构建:

return (new StringBuilder("select id1, " + " id2 " + " from " + " table")).toString();
Run Code Online (Sandbox Code Playgroud)

这是否StringBuilder达到了目标,即减少内存使用量?

我对此表示怀疑,因为在构造函数中使用了'+'(String concat运算符).这会占用与使用String相同的内存量,如下面的代码吗?我明白了,它在使用时有所不同StringBuilder.append().

return "select id1, " + " id2 " + " from " + " table";
Run Code Online (Sandbox Code Playgroud)

这两个语句在内存使用方面是否相同?请澄清.

提前致谢!

编辑:

顺便说一下,这不是我的代码.在一个旧项目中找到它.此外,查询不是我的示例中的查询.:)

java string stringbuilder

88
推荐指数
3
解决办法
29万
查看次数

标签 统计

java ×2

string ×2

stringbuilder ×2

concatenation ×1

performance ×1