美文网首页Java
Java 集合(可变参数)

Java 集合(可变参数)

作者: 一亩三分甜 | 来源:发表于2019-09-14 23:33 被阅读0次

    JDK1.5版本出现的新特性。

    虽然少定义了多个方法,但是每次都要定义一个数组。作为实际参数。

    public class ParamMethodDemo {
        public static void main(String[] args) {
            show(3,4);
            int[] arr = {3,4};
            show(arr);
            int[] arr1 = {2,3,4,5};
            show(arr1);
        }
        public static void show(int[] arr)
        {
            System.out.println(arr.length);
        }
        public static void show(int a,int b)
        {
            System.out.println(a+","+b);
        }
    }
    //输出
    3,4
    2
    4
    

    可变参数:其实就是上一种数组参数的简写形式。不用每一次都手动的建立数组对象。只要将要操作的元素作为参数传递即可。隐式将这些参数封装成了数组。

    public class ParamMethodDemo {
        public static void main(String[] args) {
    //        show(3,4);
    //        int[] arr = {3,4};
    //        show(arr);
    //        int[] arr1 = {2,3,4,5};
    //        show(arr1);
            show(2,3,4,5,6);
            show(2,3,4,5,6,7,8,9,10);
        }
        public static void show(int... arr)
        {
            System.out.println(arr.length);
        }
    //    public static void show(int[] arr)
    //    {
    //        System.out.println(arr.length);
    //    }
        public static void show(int a,int b)
        {
            System.out.println(a+","+b);
        }
    }
    //输出
    5
    9
    

    方法的可变参数:在使用时注意,可变参数一定要定义在参数列表最后面。

    public class ParamMethodDemo {
        public static void main(String[] args) {
            show(2,3,4,5,6,"haha");
        }
        public static void show(int... arr,String str)
        {
            System.out.println(arr.length);
        }
    }
    //输出:编译错误
    
    public class ParamMethodDemo {
        public static void main(String[] args) {
            show("haha",2,3,4,5,6);
        }
        public static void show(String str,int... arr)
        {
            System.out.println(arr.length);
        }
    }
    //输出
    5
    

    相关文章

      网友评论

        本文标题:Java 集合(可变参数)

        本文链接:https://www.haomeiwen.com/subject/rchzyctx.html