在c++中,一个引用传递会改变实参的值。然而在java中,却是和c++不同的。
1 public static void main(String[] args) {
2 String x = new String("ab");
3 change(x);
4 System.out.println(x);
5 }
6
7 public static void change(String x) {
8 x = "cd";
9 }
这个java代码的输出值是“ab”而不是“cd”。
String对象是不可变的。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,已包含修改后的字符串内容。而最初的String对象则丝
毫未动。