泛型通配符

来源:互联网 发布:传奇3装备数据库 编辑:程序博客网 时间:2024/05/21 10:21

泛型通配符

这里只是通过ArrayList来举例

        /*         * <?>代表可以接受任意的泛型类型         */        ArrayList<?> a1 = new ArrayList<Country>();        ArrayList<?> a2 = new ArrayList<China>();        ArrayList<?> a3 = new ArrayList<America>();        ArrayList<?> a4 = new ArrayList<Asia>();        /*         * <? extends Country>代表可以接受Country及其子类或孙类         * 限定父类为Country,即限定了泛型的上界         */        class Country{  }        class China extends Country{    }        class America extends Country{  }        class Beijing extends China{    }        ArrayList<? extends Country> b1 = new ArrayList<Country>();        ArrayList<? extends Country> b2 = new ArrayList<China>();//父类        ArrayList<? extends Country> b3 = new ArrayList<America>();//父类        ArrayList<? extends Country> b4 = new ArrayList<Beijing>();//孙类        /*         * <? super Asia>代表可以接受Asia和其父类或祖类         * 限定子类为Asia,即限定了泛型的下界         */        class Earth {   }        class Asia extends Earth{   }         ArrayList<? super Asia> c1 = new ArrayList<Asia>();        ArrayList<? super Asia> c2 = new ArrayList<Earth>();//父类        ArrayList<? super Asia> c3 = new ArrayList<Object>();//祖类    }
0 0
原创粉丝点击