zoukankan      html  css  js  c++  java
  • 简述<T> 与 <?>

    • jdk1.5以后引入了泛型的概念,即:<>,规定了集合中元素类型
      比如下面代码:
    List list1 = new ArrayList();
    List<String> list2 = new ArrayList();
    list1.add(1);
    list1.add("1");
    list2.add(1);//明显会报错
    

    总而言之就是,泛型规范了集合的元素的类型(让集合知道了自己应该装的是什么类型),不符合,编译不通过。
    等:

    • 分别代表:T - Type, E - Element,N - Number

    • 作用分析,如下

    public class Demo01 {
        @Test
        public void test() {
            Box<String> b = new Box<>();
            b.get();
    
        }
    }
    class Box<T>{
        public T get(T t) {return t;}
    }
    
    • Box类声明了泛型T,但是T的类型,是由引用者声明,一旦声明了T的类型,比如String;Box中的get方法的参数类型,返回值类型,也都是String。总而言之,该类中所有出现T的地方,都只接受T类型的参数。
    • 等价于: <? extends Object>
    • 他叫作:类型通配符
    • 出现于方法的参数里
    public static void getData(Box<?> data) {
             System.out.println("data :" + data.getData());
    }
    
    • 作用:限制参数类型,
      • :限制参数类型为 Object和其子类(不知道或者不关心参数的具体类型);
      • :限制参数类型为Number和其子类;
      • :限制参数类型为Number和其父类;

    简单总结:

    • 作用在于声明整个类/接口,一旦使用了某种类型,该类/接口中,其余出现T的位置,也都是T类型;
    • :是简写,限制了某个方法传入参数的类型;

    本文参考:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

  • 相关阅读:
    npm start报错
    npm install 错误
    vue父子组件间传值
    vue-devtools安装过程的坑
    用js进行排序
    筛选表格数据
    基于ElementUI封装可复用的表格组件
    小程序头部滑动切换
    DisneyDiffuse解析
    基于URP的ScreenSpaceDecal的实现(其实和URP没啥关系)
  • 原文地址:https://www.cnblogs.com/kangkaii/p/8419113.html
Copyright © 2011-2022 走看看