学习String 类时:
public class Test{
public static void main(String[] args) {
String str = "Java";
for(int i = 0;i<100;i++){
str += i;;//不断地修改 String 的内存引用,性能低
}
System.out.println(str);
}
}
这里虽然最后字符串的结果改变了,但实际上是通过不断修改对象的引用来实现的,性能很差,因此想要解决此类问题就必须依靠 StringBuffer ,因为对于 StringBuffer 的内容是可以修改的
public class Test{
public static void main(String[] args) {
StringBuffer str = new StringBuffer();
str.append("Java");
for(int i = 0;i<100;i++){
str.append(i);;//StringBuffer可以修改,性能高
}
System.out.println(str);
}
}
- 10
因此对于频繁修改字符串内容给的地方,最好使用 StringBuffer 类完成