Java的数组变量只是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量
例如,以下的代码:
public class Test0510_1 {
public static void main(String[] args) {
String[] str1 = new String[]{"曹操","司马懿","张辽","典韦"};
String[] str2;
//str2指向str1
str2 = str1;
for(int i=0;i<str2.length;i++){
System.out.println(str2[i]);
}
str2[2] = "夏侯惇";
System.out.println("str[1]的第3个元素值是"+str1[2]);
}
}
运行结果:
曹操
司马懿
张辽
典韦
str[1]的第3个元素值是夏侯惇
str2=str1,表明str2数组指向str1数组,引用同一个数组对象,str2已经指向有效的内存以及一个长度为4的字符数组对象。
当str2的字符发生变化时,str1也连同发生变化。