可变长度参数

可变长度参数案例:

package com.javaSe.reflect;
/*
可变长参数
    int... args 这就是可变长参数
    语法是:类型... (注意:一定是3个点。)
    
    1 可变长度参数要求的参数个数是0~n个。
    2 可变长度参数在参数列表中必须在最后一个位置上,而且可变长度参数只能有1个。
    3 可变长度参数可以当做一个数组来看待。
*/
public class ArgsTest {
    public static void main(String[] args) {
        m();
        m(10);
        m(10,20);
        
        // 编译报错
        // m("abc");
        
        m2(100);
        m2(200,"abc");
        m2(200,"abc","def");
        m2(200,"abc","def","xyz");
        
        m3("aa","bb","cc","ee","gg");
        
        // 也可以传一个数组进去
        String[] strs = {"a","b","c","d","e"};
        m3(strs);
        
        // 直接传一个数组
        m3(new String[]{"我","是","中","国","人"});// 没必要
        
        m3("我","是","中","国","人");
        
    }
    
    public static void m(int... args){
        System.out.println("m方法执行了");
    }
    
    // 可变长度参数在参数列表中必须在最后一个位置上
    // public static void m2(String... args1, int... args2){ }
    
    public static void m2(int a,String... args1){
    
    }
    
    public static void m3(String... args1){
        // args1有length属性,说明args1是一个数组!
        // 可以将可变长度参数当做一个数组来看
        for (int i = 0; i < args1.length; i++) {
            System.out.println(args1[i]);
        }
    }
}

 

posted @ 2020-09-04 11:19  xlwu丶lz  阅读(206)  评论(0编辑  收藏  举报