zoukankan      html  css  js  c++  java
  • 泛型通配符

    泛型通配符的使用

    package javabasis.fanxing;
    
    
    /*
    * 此处讲述泛型通配符相关内容
    *
    * 三种
    * ?
    * ? extends E
    * ? super E
    * */
    
    import org.junit.Test;
    
    class FanXingSymbols<T> {
    
        private T param;
    
        public FanXingSymbols(T param) {
            this.param = param;
        }
    
        public T getParam() {
            return param;
        }
    
        public void setParam(T param) {
            this.param = param;
        }
    }
    
    public class NO3FanXing2 {
    
        @Test
        public void test(){
    
            FanXingSymbols<?> fanXingSymbols = new FanXingSymbols<>(123);
            fanXingSymbols.getParam();
    //        fanXingSymbols.setParam(234234);
            //'setParam(capture<?>)' in 'javabasis.fanxing.FanXingSymbols' cannot be applied to '(int)'
            //无法使用set
    
    
            //构造的泛型类 必须是Number的子类, 并且只能取出不能加入.  因为在未编译时,无法判断此泛型类,指定的什么类型参数
            //符合消费者的概念 只能取 不能放
            FanXingSymbols<? extends Number > fanXingSymbols2 = new FanXingSymbols<>(123);
            fanXingSymbols2.getParam();
    //        fanXingSymbols2.setParam(454545);
    
    
            //只能放入 Integer的父类 或者父类的父类
            FanXingSymbols<? super Integer > fanXingSymbols3 = new FanXingSymbols<>(123);
            //取出使用Object
            Object a = fanXingSymbols3.getParam();
            fanXingSymbols3.setParam(4545);
    
        }
    }
    
    
  • 相关阅读:
    HDUOJ-----Difference Between Primes
    HDUOJ----(4706)Children's Day
    poj-------Common Subsequence(poj 1458)
    poj----Maximum sum(poj 2479)
    scanf/sscanf %[]格式控制串的用法(转)
    HDUOJ--------Text Reverse
    HDUOJ---hello Kiki
    HDUOJ-----X问题
    POJ-----C Looooops
    POJ--Strange Way to Express Integers
  • 原文地址:https://www.cnblogs.com/yaoxublog/p/10944614.html
Copyright © 2011-2022 走看看