可变参数
- JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
- 在方法申明中,在指定参数类型后加一个省略号(…)
- 在一个方法中只能指定一个可变参数,他必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
导入
在写一个方法时,方法会有很多不确定的参数,我们会去写很多类,然后写很多方法代替。
public class amy03 {
public static void main(String[] args) {
}
public void method(){}
public void method(int i){}
public void method(int i1,int i2){}
public void method(int i,double i2){}
}
参数越多,代码也繁琐,可能要写很多的方法重载。
这时就可以像main方法一样用数组传递很多个参数,但是这还是不能满足我们的要求。
public class amy03 {
public static void main(String[] args) {
amy03 amy03=new amy03();
amy03.test(1,2,3,4,5,6,7);
}
public void test(int... i) //可变参数{
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
System.out.println(i[5]);
System.out.println(i[6]);
}
}
注意事项:
-
可变参数必须是最后一个参数
public class amy03 { public static void main(String[] args) { amy03 amy03=new amy03(); amy03.test(1,2,3,4,5,6,7); } public void test(int... i,int x){ System.out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); System.out.println(i[3]); System.out.println(i[4]); System.out.println(i[5]); System.out.println(i[6]); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dafASNd4-1632647628768)(D:\JAVA学习图片\java方法\04.png)]
-
可变参数必须是相同类型
public class amy03 { public static void main(String[] args) { amy03 amy03=new amy03(); amy03.test(1,2.0,3,40.0,5,6,7); } public void test(int... i){ System.out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); System.out.println(i[3]); System.out.println(i[4]); System.out.println(i[5]); System.out.println(i[6]); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J8Fx42iR-1632647628770)(D:\JAVA学习图片\java方法\05.png)]