Java 的 String 为什么是不可变的?
在 Java 中,String 是不可变(Immutable)的,这是为了保证安全性和性能优化。
1 安全性:String 在网络传输、加密等场景下常用,不可变性可以防止数据被篡改。
2 性能优化:JVM 使用字符串常量池,相同的字符串可以被重复引用,避免重复创建对象,节省内存。
3 线程安全:不可变对象天然是线程安全的,无需额外同步机制。
String s1 = "Java";
String s2 = "Java"; // s1 和 s2 指向同一对象
System.out.println(s1 == s2); // true
所以,如果需要修改字符串,建议使用 StringBuilder!