黑马程序员技术交流社区
标题:
可变参数
[打印本页]
作者:
真实姓名被注册
时间:
2015-8-5 23:58
标题:
可变参数
有这样的例子:
class test{
public static void show1(int a){
打印a
}
public static void show2(int a,int b){
打印a,b
}
public static void main(String[] args){
show(1);show(1,2);
}
}
如果还要打印3个数据,4个数据...,必须重载多次,可以考虑改成如下形式:
class test{
public static void show(int[] a){
打印数组a中所有元素
}
public static void main(String[] args){
show(new int[]{1});show(new int[]{1,2});
}
}
每次将要打印的元素先封装成数组,再调用方法,这样浪费了内存空间,效率也低。
JDK1.5版本中出现了新特性:可变参数,其实就是上一种数组参数的简写形式,不用每一次都手动建立数组对象,只要将要操作的元素作为参数传递即可,隐式的将这些参数封装成了数组。
class test{
public static void show(int...a){
打印数组a中所有元素
}
public static void main(String[] args){
show(1);show(1,2);
}
}
可变参数在使用时注意:可变参数一定要定义在参数列表的最后面。比如下面这样定义是可以的:
public static void show(String s,int...a){
}
而下面这样定义编译不通过:
public static void show(int...a,String s){
打印数组a中所有元素
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2