为不定参数Object...objects传数组

来源:互联网 发布:淘宝客户管理软件 编辑:程序博客网 时间:2024/05/16 08:23

第一种情况,传非对象数组

public class Demo3 {    public static void main(String[] args) throws Exception {        int[] arr={1,2,3};        //把int[]传给Object...objects,会把int[]当成1个Object对象处理        //传入非对象的数组时,像基本类型的数组时,它会把整个数组当做一个Object 实例,打印出的结果为 1        get(arr); //输出1    }    public static void get(Object...objects){        System.out.println(objects.length);    }}

第二种情况,传对象数组

public class Demo3 {    public static void main(String[] args) throws Exception {        Integer[] arr={1,2,3};        //把Integer[]传给Object...objects,Integer是Object的子类        //会把Integer[]的数据解析为可变参数objects的数据        //完成Integer[]到Object[]的传递        //如果传入的是一个对象数组,那么可变参数的长度就等于该对象数组的长度        get((Object)arr);//输出3    }    public static void get(Object...objects){        System.out.println(objects.length);    }}