该类
考虑下面的代码:
String
创建不可变字符串。这意味着如果您对字符串应用任何操作或对字符串进行操作,结果将是一个新字符串。如果这个新字符串没有分配给任何变量,则操作结果将丢失。因此,对此类字符串的操作必然导致新字符串的创建。这意味着额外的内存和处理器时间成本。如果对字符串有很多操作,那么使用由类实现的动态字符串通常会更有效StringBuilder
。
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
上面的代码解决了同样的问题。当我们向给定字符串添加 100 个新子字符串时。第一个示例使用该类来实现此目的String
,但效率不高,因为每次添加子字符串都会导致构造新对象String
。这是对内存和时间的额外浪费。在第二个示例中,使用 类 解决了这个问题StringBuilder
。我们预先创建一个类的对象StringBuilder
,然后使用append
我们的方法通过更改创建的对象的内容来形成我们需要的字符串StringBuilder
,但无需重新创建对象本身。
GO TO FULL VERSION