可变长参数
在方法的形参中使用,可以使方法的形参接收多个数据
本质上就是一个数组
格式
数据类型...参数名称
例如:
public static void test(String... str){
sout(Arrays.toString(str));
}
表示该方法可以接收任意个String类型的参数,并将其打印,如果参数个数为0,则什么都不打印
原理(访问)
实质上是数组
如果想访问所传参数,用 [] 即可访问:
public static void test(String... str){
sout(str[0]); //打印第一个传入的参数
}
注意
- 可变参数必须放在形参列表的最后面
public static void test(int a,String... str){
sout(Arrays.toString(str));
}
- 形参列表中可变参数只能有一个
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 #放在包中需要携带主类完整路径才能运行
可以看到,我们在后面随意添加的三个参数,都放到数组中了: