JAVA方法中数组作为形参,传的是引用
之前一直以为传数组和基本类型都是传的值,今天做题时发现传数组传的其实是引用。
public class Tests {
public static void main(String[] args) {
int[] s = { 1, 2, 3, 4, 5 };
change1(s);
for (int i : s) {
System.out.print(" " + i);
}
System.out.println();
change2(s);
for (int i : s) {
System.out.print(" " + i);
}
System.out.println();
}
// 传递的引用,直接修改内容,,s+0,s+1的值被改变
private static void change1(int[] s) {
s[0] = 6;
s[1] = 7;
}
// 传递的也是引用,但s=b无法改变s的指针,所以s内容不会变
private static void change2(int[] s) {
int[] b = { 5, 4, 3, 2, 1 };
s = b;
}
}
输出内容
6 7 3 4 5
6 7 3 4 5
版权声明:本文为baidu_27419681原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。