JAVA类型后面跟3个点(可变长度参数列表)

AVA1.5支持了一种新的参数类型–可变长度参数列表,格式是类型后面加…,例如String…、Object…等
这个和我们熟知的Object[]数组参数有些区别,且更加方便灵活些,下面简单介绍下:
先写一个熟知的传统数组参数方法

public class Param {  

    public static void printParam(int i,String[] str){  
        if(str.length == 0){  
            System.out.println("无参数的printParams()方法");  
        }  
        else{  
            for (String string : str) {  
                System.out.println("带参的printParams("+string+")方法");  
            }  
        }  
    }  

    public static void main(String[] args) {  
        printParam(2,new String[]{"A","B","C"});  
    }  
}  

在调用printParam时,我们无论如何都要传递一个String类型的数组过去,然而我们在工作时有时候会遇到需要这个方法,但是确实又没必要传递所有参数,
如同上面例子,我可能只需要传递int类型参数,但是String[]参数我并没有,这样我任然要传递一个空的String[]否则会报错。所以这种参数很死板,用起来不方便。
但是Stirng…就不需要这么麻烦了,看下面这个方法:

public class Params {  

    public static void printParams(String... str){  
        if(str.length == 0){  
            System.out.println("无参数的printParams()方法");  
        }  
        else{  
            for (String string : str) {  
                System.out.println("带参的printParams("+string+")方法");  
            }  
        }  
    }  

    public static void main(String[] args) {  
        printParams();  
        printParams("a","b","c");  
        printParams(new String[]{"A","B","C"});  
    }  
}  

这里我们可以随意调用,有不带参数的printParams(),而且不报错,另外他还支持2种不同的写法可以多个Stirng的传递,也可以单个String[]数组的传递
这位我们提供了很大的方便。

这里需要注意的是:
一个类里面如果有了printParams(String… str)方法,就不能存在printParams(String[] str)方法,但是可以存在printParams()方法。
而且如果我们执行printParams()方法时,会优先查找printParams()方法,只有在printParams()方法不存在的时候才会去找printParams(String… str)方法

原地址:http://blog.sina.com.cn/s/blog_4550f3ca0101hus7.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值