zoukankan      html  css  js  c++  java
  • java 自定义泛型

    package generic;
    
    import java.util.*;
    public class GenericTest {
        /*
         * 1.泛型在继承方面的体现,虽然A 是 B 的父类,但是G<A> 和 G<B> 不具有子父类关系,二者是并列关系
         *      A 是 B的父类, A<G> 和 B<G> 具有子父类关系
         * 
         * */
        public void test() {
            
        }
        
        /*
         * 2.通配符 ?
         *     A 是 B的父类,G<A>和G<B>是并列关系,二者共同父类是G<?>
         *     并且G<?>内不能再添加数据  ,除了null 
         * */
        public void test3() {
            List<Object> list1 = null;
            List<String> list2 = null;
            List<?> list = null;
            
            List<String> list3 = new ArrayList<>();
            list3.add("AA");
            list3.add("BB");
            list3.add("CC");
            list = list3;
            //添加:只能加null
            list.add(null);
            //读取:只能用Object去读取
            Object obj = list.get(0);
        }
        public void print(List<?> list) {
            Iterator<?> iterator = list.iterator();
            while(iterator.hasNext()) {
                Object obj = iterator.next();
                System.out.println(obj);
            }
        }
        
        /*
         *  ? extends Person: Person及其子孙类
         *  ? super Person: Person及其父类
         * */
        public void test4() { 
            List<? extends Person> list1 = null;
            List<? super Person> list2 = null;
            
            List<Student> list3 = null;
            List<Person> list4 = null;
            List<Object> list5 = null;
            
            //赋值:
            list1 = list3;
            list1 = list4;
            //list1 = list5;
            
            //list2 = list3;
            list2 = list4;
            list2 = list5;
        
            //获取
            list1 = list3;
            Person p=list1.get(0);
            
            list2 = list4;
            Object obj = list2.get(0);
            
            //添加
        }
    }
    class Person {
    }
    class Student extends Person{
    }

    1

  • 相关阅读:
    while语句
    闭包
    文件操作
    Python基础九:高级特性
    Python基础八:函数
    Python基础六:字典和集合
    Python基础七:条件判断和循环结构
    Python基础五:列表和元组
    Python基础四:字符串及编码
    Python基础三:数据类型和变量
  • 原文地址:https://www.cnblogs.com/zsben991126/p/11863922.html
Copyright © 2011-2022 走看看