我意识到变量名的 hashCode 在“更新”后是不同的,但客观上是什么使得 String 对象实际上是不可变的?
public static void main(String[] args) {
String str = "AB";
System.out.println(str ); // AB
str = str .replace(str .charAt(0) ,'W');
System.out.println(str );//WB
}
编辑1:hashCode基于变量的值,与内存地址无关。
编辑2:我现在明白字符串是引用,而不是它本身的对象。
翻阅古今
相关分类