zoukankan      html  css  js  c++  java
  • 将数组作为方法参数

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

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

    其实这些都是java形参和实参的原理。

    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]

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

    就算这个世道烂成一堆粪坑,那也不是你吃屎的理由
  • 相关阅读:
    Asp.Net.Core 系列-中间件和依赖注入Hosting篇
    Asp.Net.Core 系列-中间件和依赖注入进阶篇
    Asp.Net.Core 系列-中间件和依赖注入基础篇
    修饰符总结
    CSS3边框border知识点
    浅谈CSS中的居中
    c#中的委托和事件
    c#基础知识复习-static
    c#基础知识复习
    Bfc的理解
  • 原文地址:https://www.cnblogs.com/whalesea/p/13168156.html
Copyright © 2011-2022 走看看