一尘不染

Java如何使用“ +”连接字符串?

java

我使用来了解Java与+=运算符的工作方式StringBuilder
它是用同样的("a" + "b")操作?


阅读 411

收藏
2020-09-08

共1个答案

一尘不染

不。使用StringBuilder和做不一样"a" + "b"

在Java中,字符串实例是不可变的。

因此,如果您这样做:

String c = "a" + "b";

每次连接时都在创建新的字符串。

另一方面,StringBuilder就像一个缓冲区,可以在追加新Strings时根据需要增长。

StringBuilder c = new StringBuilder();
c.append("a");
c.append("b"); // c is only created once and appended "a" and "b".

经验法则是(由于我的评论而改变):

如果要进行大量连接(例如,在循环内进行连接,或生成由多个字符串连接的变量组成的大型XML),请使用StringBuilder。否则,简单的串联(使用+运算符)就可以了。

编译此类代码时,编译器优化也起着重要作用。

这是
对该主题进一步说明。

2020-09-08