java可变参数

2020-01-28 16:05:20来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

java可变参数

可变参数

java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。

注意:可变参数必须位于最后一项。

原因:当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

可变参数的特点:

(1)只能出现在参数列表的最后; 

(2)...位于变量类型和变量名之间,前后有无空格都可以;

(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

public static void main(String[] args) {
        System.out.println("test1:");
        test(1,"a","b","c","d");
        System.out.println("test2:");
        test(2,new String[] {"a", "b", "c"});
    }
    
    /**
     * 测试方法
     * @param params 参数
     * */
    public static void test(int intParam,String... params){
        System.out.println("int:"+intParam);
        //遍历参数内容
        for(String temp : params){
            System.out.println(temp);
        }
        System.out.println();
结果:
    test1:
    int:1
    a
    b
    c
    d
    
    test2:
    int:2
    a
    b
    c

那么可不可以使用多个可变参数作为入参呢?答案是不可以的,原因跟上一个错误差不多,这种可变参数需要放到最后一个入参,多个可变参数,不可能都最为最后一个入参。相较于String[]这种形式的入参,我理解的优势大概就是可以多个String传入,也可以Sting[]传入,就是test1的调用入参这样。

参考

原文:https://blog.csdn.net/a290450134/article/details/82050625


原文链接:https://www.cnblogs.com/eternityz/p/12238942.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:包装类型间的相等判断

下一篇:ReentrantLock(重入锁)功能详解和应用演示