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

java中可变参数的使用

2017-10-17 18:50 176 查看
//1573第122题 可变参数的作用及其用法

/*

从jdk1.5以后,java提供了变长参数。我们在定义方法的时候,可以使用不确定个数的

参数。对于同一个方法,也可以通过不确定参数个数的方法进行重载

*/

public class Test0122{
public static void main(String[] args){
System.out.println("------------形参类型为String------------");
printStr("hello","world","hello","world");
System.out.println("------------形参类型为int---------------");
int[] arr = {1,2,3,4,5};
printInt(1);
printInt(arr);
System.out.println("---------------重载测试-----------------");
print01(1,"hello","world");
print01("hello","world");
}

//数据类型:字符串 类似于打印数组操作
private static void printStr(String...args){
for(int i=0; i<args.length; i++){
System.out.print(args[i] + "\t");
}
System.out.println();
}
//数据类型:int
/*
如果某一方法被调用的时候,既能与固定个数参数方法match,又能与可变参数方法match
那么优先调用固定参数个数方法
*/
private static void printInt(int...intargs){
for(int i=0; i < intargs.length; i++){
System.out.print(intargs[i] + " ");
}
System.out.println();
}

private static void printInt(int n){
System.out.println("only one Integer");
}
//每个方法最多一个可变参数,并且该参数的位置是方法的最后
/*不能让调用的方法可以与两个可变参数匹配,例如,不能定义两个重载方法public 
static void printStr(String str,String...strs)与public static void printStr
(String...str);但是public static void print01(int n,String...strs)与public
static void print01(String...str)构成重载
*/
private static void print01(int n,String...strs){
for(int i=0; i<strs.length; i++){
System.out.print("有int--" + n + strs[i]);
}
System.out.println();
}
private static void print01(String...strs){
for(int i=0; i<strs.length; i++){
System.out.print("没int--" + strs[i]);
}
System.out.println();
}

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