当前位置:编程学习 > JAVA >>

哪位大神可以给我讲解一下1.6的心功能可变参数

总听别人说可变参数,怎么用啊,求指点?最好详细点~ --------------------编程问答--------------------
public class TestArgs {
public static void test1(Integer ...a){
for(Integer i :a ){
System.out.println(i);
}
}
public static void test2(Integer a, Integer ...b){
for(Integer i :b ){
System.out.println(i);
}
}
public static void main(String[] args) {
System.out.println("test1");
test1(1,2,3,4,5);
System.out.println("test2");
test2(1,2,3,4,5);
}
}
(1)、只能出现在参数列表的最后; 

(2)、...位于变量类型和变量名之间,前后有无空格都可以;

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
--------------------编程问答-------------------- 1.6已经十年了吧。。 --------------------编程问答-------------------- 1.5就有了的。。 --------------------编程问答-------------------- Java is C++ without the guns, knives, and club --------------------编程问答--------------------
引用 1 楼 longtian1213 的回复:
public class TestArgs {
public static void test1(Integer ...a){
for(Integer i :a ){
System.out.println(i);
}
}
public static void test2(Integer a, Integer ...b){
for(Integer i :b ){
System.out.println(i);
}
}
public static void main(String[] args) {
System.out.println("test1");
test1(1,2,3,4,5);
System.out.println("test2");
test2(1,2,3,4,5);
}
}
(1)、只能出现在参数列表的最后; 

(2)、...位于变量类型和变量名之间,前后有无空格都可以;

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。

为什么第二的打印结果是2,3,4,5啊? --------------------编程问答--------------------
引用 5 楼 u011365621 的回复:
Quote: 引用 1 楼 longtian1213 的回复:


public class TestArgs {
public static void test1(Integer ...a){
for(Integer i :a ){
System.out.println(i);
}
}
public static void test2(Integer a, Integer ...b){
for(Integer i :b ){
System.out.println(i);
}
}
public static void main(String[] args) {
System.out.println("test1");
test1(1,2,3,4,5);
System.out.println("test2");
test2(1,2,3,4,5);
}
}
(1)、只能出现在参数列表的最后; 

(2)、...位于变量类型和变量名之间,前后有无空格都可以;

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。

为什么第二的打印结果是2,3,4,5啊?

因为1被赋值给a,2,3,4,5被赋值给了b --------------------编程问答-------------------- 我印象中应该1.5就有这个特性了。不是1.6特有的! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- method(String...arr){
打印arr[0]arr[1]
}其实就是把arr当数组看
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,