首先,介绍一下
String、StringBuffer、StringBuilder的区别
String是final修饰的,不可变,每次操作都会产生新的String对象
StringBuffer和StringBuilder都是在原对象上操作
public class StringAndBuilderDemo {
public static void main(String[] args) {
StringDemo();
System.out.println("************************");
StringBuilderDemo();
}
public static void StringDemo(){
String original = "hello"; // 创建一个 String 对象 "hello"
System.out.println("Original: " + original);
// 保存原始对象的引用
String previous = original;
// 修改字符串
original = original.concat(" world"); // 创建一个新的 String 对象
System.out.println("Modified: " + original); // 输出 "hello world"
// 访问之前的对象引用
System.out.println("Previous: " + previous); // 输出 "hello"
}
public static void StringBuilderDemo(){
StringBuilder original = new StringBuilder("hello"); // 创建一个 StringBuilder 对象 "hello"
System.out.println("Original: " + original);
// 保存原始对象的引用
StringBuilder previousBuilder;
previousBuilder = original;
// 修改字符串
original.append(" world"); // 在原有对象上修改
System.out.println("Modified: " + original); // 输出 "hello world"
// 访问之前的对象引用
System.out.println("Previous: " + previousBuilder); // 输出 "hello world"
}
}