相关疑难解决方法(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万
查看次数

Java中的字符串连接 - 何时使用+,StringBuilder和concat

什么时候我们应该使用+来连接字符串,什么时候首选StringBuilder?何时适合使用concat.

我听说StringBuilder更适合循环中的连接.为什么会这样?

谢谢.

java string

43
推荐指数
5
解决办法
8万
查看次数

如果编译器自动将字符串连接转换为StringBuilder,为什么要显式使用StringBuilder?

可能重复:
String中的StringBuilder与字符串串联在toString()中

我想知道,因为编译器内部使用StringBuilder在执行字符串连接时附加2个字符串,那么问题是什么?如果字符串连接已经为你完成了工作,我为什么要使用StringBuilder呢?还有其他具体原因吗?

java stringbuilder

36
推荐指数
1
解决办法
2万
查看次数

字符串生成器与字符串连接

使用字符串生成器而不是纯字符串连接有什么好处和权衡?

new StringBuilder(32).append(str1)
                     .append(" test: ")
                     .append(val)
                     .append(" is changed")
                     .toString();
Run Code Online (Sandbox Code Playgroud)

vs说

str1 + " test: " + val + " is changed".
Run Code Online (Sandbox Code Playgroud)

str1是一个随机的10个字符串. str2是一个随机的8个字符串.

java stringbuilder string-concatenation

27
推荐指数
2
解决办法
2万
查看次数