在Java中,数组作为实参可以通过以下几种方式传递:
传递数组的引用
public class Test {public void m1(int[] a) {System.out.println("数组长度是:" + a.length);}public static void main(String[] args) {Test t = new Test();int[] b = {1, 2, 3, 4, 5};t.m1(b); // 直接创建数组传值t.m1(new int[]{1, 2, 3}); // 直接传递null,但是次数组不可用t.m1(null); // 传递null}}
传递包装类
对于基本类型数组,可以使用其包装类(如`Integer[]`)传递。
使用可变参数
使用可变参数语法(如`int... arr`)允许传递长度可变的数组。
返回数组的引用
方法可以返回数组的引用,可以是直接创建的数组,也可以是`null`。

public class Test {public String[] m1() {String[] s = {"abc", "de"};return s;}public String[] m2() {return new String[]{"a", "b", "c"};}public String[] m3() {return null;}public static void main(String[] args) {Test t = new Test();String[] result1 = t.m1();String[] result2 = t.m2();String[] result3 = t.m3();// 打印结果System.out.println(Arrays.toString(result1));System.out.println(Arrays.toString(result2));System.out.println(Arrays.toString(result3));}}
请注意,传递数组时,实际上是传递了数组的引用,所以如果方法内部修改了数组,那么原始数组也会被修改。如果需要避免这种情况,可以在传递之前创建数组的副本。
