String和StringBuffer的区别
String对象表示字符串,字符串对象是一旦创建是不可变的,如果对String对象表示的字符串进行了修改,其实是创建了新的字符串对象,只是改变了String对象的引用而已。
StringBuffer对象表示字符串缓冲区,这个字符串缓冲区是不会改变的,只是对字符串缓冲区中的内容在进行改变。
所以当实际开发中需要高频对字符串进行修改时,建议使用StringBuffer。
代码演示:
String演示将一个字符串数组转成字符串。
public static String strArrayToString(String[] args) {
String s = "";
for (int i = 0; i < args.length; i++) {
//每拼接一次就会新建一个字符串对象
s+=args[i];
}
return s;
}
使用StringBuffer完成
public static String strArrayToString2(String[] args) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < args.length; i++) {
//容器不变,只是在不断的修改容器内容
sb.append(args[i]);
}
return sb.toString();
}
这篇博客探讨了Java中String和StringBuffer对象的区别。String对象是不可变的,每次修改都会创建新对象,而StringBuffer对象允许在不创建新实例的情况下修改其内容。在处理大量字符串操作时,使用StringBuffer能提高效率。通过代码示例展示了如何使用StringBuffer避免频繁对象创建。
5623

被折叠的 条评论
为什么被折叠?



