刚开始学习Java,看到字符串和数组都是引用类型。 我不明白了以下问题:Java - 字符串和数组引用
String a = "a1";
String b = "a2";
a=b;
a = "rrr";
System.out.println(a);
System.out.println(b);
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
arr2[0]= 19;
System.out.println(arr1[0]);
当我打印出来,我得到:"rrr" "a2" 10
使用数组时 - 据我所知,他们都指向同一个对象,所以如果我改变细胞 - 我在arr1和arr2看到了不同。
关于“字符串” - 根据我的理解,当我这样做时:a = b它不应该是:“让a
指向与b
指向的相同对象” - 意思是如果我更改了它们都需要的被改变?
谢谢!
这不是最有用的东西,但我想你会明白,你可以用'System.out.println(Arrays.toString(arr1));'打印一个数组。 – Pokechu22 2014-09-19 18:38:44
开始区分_variables_,_reference values_和_instances_(对象)。 – 2014-09-19 18:45:50
阅读[this](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value)。 – 2014-09-19 18:47:34