正文
java 可变參数列表
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Java SE5加入了可变參数列表特性
參数能够这样定义。(Object…args)。可变參数用"..."来定义,args是可变參数的数组。举个样例:
package sample;class A{}public class NewVarArgs {
static void printArray(Object...args){
for(Object obj:args)
System.out.print(obj+" ");
System.out.println();
} public static void main(String[] args){
printArray(new Integer(47),new Float(3.14),new Double(11.11));
printArray(47,
printArray("one","two","three");
printArray(new A(),new A(),new A());
printArray((Object[])new Integer[]{1,2,3,4});
printArray();
}
}
输出结果为:
47 3.14 11.11
47 3.14 11.11
one two three
sample.A@a90653 sample.A@de6ced sample.A@c17164
1 2 3 4
当指定可变參数后,对于给定的可变參数实參,编译器会用这些实參去填充一个參数数组。这就是为什么args能够用foreach去遍历。
但假设传入的參数本身就是一个数组时。编译器将接受这个数组作为可变參数列表。而不再为其外层包装为一个新的数组。