首先 因为String类是final的,所以一旦初始化是不会被改变的
String s = "Hello"; //这时候会在内存中开辟一块空间存储“Hello”,并且S的引用指向它; s = “world”; //看这句,初学者一般觉得这样的话s的值就变了啊,跟String的特性相违背了啊,其实并不然,s只是对象的引用,真正的对象存在了内存中,执行这句语句的时候,会在内存中重新开辟一块内存,用来存储“world”,并将原来的s引用指向“world”。但是原来的内存中的“hello”并没有改变。也就是说String类对象中的内容一旦被初始化就不能再改变。