您的位置:首页 > 编程语言 > Java开发

Java:可变参数列表

2017-10-09 11:21 197 查看
知识总结:



package imooc.method;

public class ArgsDemo {

//求和
public void sum(int...n){
int sum=0;
for(int i:n)
{
sum+=i;
}
System.out.println("sum="+sum);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ArgsDemo ad=new ArgsDemo();
ad.sum(1);//累加和
ad.sum(1,2);//3
ad.sum(1,3,4);//8
}

}


可变参数的查找问题:

可变参数列表必须写在参数的最后一个,数组也可以做微可变参数列表的参数!

package imooc.method;

public class ArgsDemo {

//查找
public void search(int n,int...a)//可变参数列表只能写在最后一个参数
{
boolean flag=false;
for(int a1:a){
if(a1==n){
flag=true;
}
}

if(flag){
System.out.println("找到了 "+n);
}else
{
System.out.println("没找到 "+n);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ArgsDemo ad1=new ArgsDemo();
ad1.search(1,1,2,3,4,5,6,7);//除了第一个数都是后面都是可变参数列表的值
ad1.search(0,2,3,2,3,4,5,6,7);

//可以将数组传递给可变参数列表
int[] a={1,2,3,4,5};
ad1.search(3,a);

}

}




数组向可变参数列表传值是可以兼容的,是允许的!但是,可变参数列表项数组传值是不允许的!

package imooc.method;

public class ArgsDemo {

//查找
public void search(int n,int...a)//可变参数列表只能写在最后一个参数
{
boolean flag=false;
for(int a1:a){
if(a1==n){
flag=true;
}
}

if(flag){
System.out.println("找到了 "+n);
}else
{
System.out.println("没找到 "+n);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ArgsDemo ad1=new ArgsDemo();
ad1.search(1,1,2,3,4,5,6,7);//除了第一个数都是后面都是可变参数列表的值
ad1.search(0,2,3,2,3,4,5,6,7);

//可以将数组传递给可变参数列表
int[] a={1,2,3,4,5};
ad1.search(3,a);

}

}




可变参数列表作为方法参数的重载问题:

注意:可变参数列表方法是最后系统访问的,也就是说在同时存在两个方法重载的情况下,应该先调用不可变参数的方法!

文档注释:/**+回车

可以用@标记程序的版本,作者等!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: