可变长参数


可变长参数

在方法的形参中使用,可以使方法的形参接收多个数据

本质上就是一个数组

格式

数据类型...参数名称

例如:

public static void test(String... str){
	sout(Arrays.toString(str));
}

表示该方法可以接收任意个String类型的参数,并将其打印,如果参数个数为0,则什么都不打印

原理(访问)

实质上是数组

如果想访问所传参数,用 [] 即可访问:

public static void test(String... str){
	sout(str[0]);  //打印第一个传入的参数
}

注意

  1. 可变参数必须放在形参列表的最后面
public static void test(int a,String... str){
	sout(Arrays.toString(str));
}
  1. 形参列表中可变参数只能有一个

main中的String[] args

实际上这个是我们在执行Java程序时,输入的命令行参数,我们可以来打印一下:

public static void main(String[] args) {
    for (String arg : args) {
        System.out.println(arg);
    }
}

可以看到,默认情况下直接运行什么都没有,但是如果我们在运行时,添加点内容的话:

java com/test/Main lbwnb aaaa xxxxx   #放在包中需要携带主类完整路径才能运行

可以看到,我们在后面随意添加的三个参数,都放到数组中了:

image.png


Author: havenochoice
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source havenochoice !
评论
  TOC