JAVA方法中数组作为形参,传的是引用

    xiaoxiao2021-03-25  42

    之前一直以为传数组和基本类型都是传的值,今天做题时发现传数组传的其实是引用。

    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

    转载请注明原文地址: https://ju.6miu.com/read-26168.html

    最新回复(0)