我对学习Java还比较新,但是我开始明白值类型和引用类型的区别。据我所知,String是引用类型。然而,与其他引用类型不同的是,我可以打印一个String而不会打印一些奇怪的字母和数字组合。这是为什么呢?此外,假设我有以下代码:
String s1 = "x";
String s2 = s1;
s1 = "xyz";
System.out.println(s2);
它将打印 "x",而不是 "xyz",即使我改变了对象 s2 引用的对象。当我改变数组时,这种情况不会发生。为什么字符串很特别?
s2
引用的对象,你只是让s1
引用了一个不同的字符串。 - Paul Rooney