将数组作为方法参数

Posted whalesea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数组作为方法参数相关的知识,希望对你有一定的参考价值。

1、数组没有做方法参数时,可以直接给数组的引用赋值

2、数组作为方法参数传递时,给数组的引用赋值是无效的,需要分别给每个元素赋值。

import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args){
        int[] intArrs = new int[5];
        System.out.println(Arrays.toString(intArrs));

        //直接给整个数组赋值,有效
        int[] intArrs2 = {2,3,4,5};
        intArrs = intArrs2;
        System.out.println(Arrays.toString(intArrs));

        //在方法中通过形参给整个数组赋值,无效
        apply(intArrs);
        System.out.println(Arrays.toString(intArrs));

        //分别给单个数组元素赋值,有效
        apply2(intArrs);
        System.out.println(Arrays.toString(intArrs));
    }

    /**
     * 给整个数组赋值
     * @param arr
     */
    public static void apply(int[] arr){
        int[] intArr = {3,45,43,55,33,55,33};
        arr = intArr;
    }

    /**
     * 给数组单个元素赋值
     * @param arr
     */
    public static void apply2(int[] arr){
        for(int i=0;i<arr.length;i++){
            arr[i] = 66;
        }
    }
}

运行结果:

[0, 0, 0, 0, 0]
[2, 3, 4, 5]
[2, 3, 4, 5]
[66, 66, 66, 66]

可以看出,数组没有作为形参传递时,可以直接给数组的引用赋值;当数组作为方法形参时,直接赋值无效,这时元素单个赋值是有效的。

以上是关于将数组作为方法参数的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

将数组作为方法参数

如何将对象作为方法输入参数而不是作为参数数组传播?

将数组作为 C++ 中方法的 const 参数传递

如何通过代码设置片段标签?