泛型 - <? extends A> 和 <T extends A> 的区别

以下全部是个人看法
我认为 通配符 和 类型参数 就好比 通配符和占位符
类型通配符 不需要指定类型就可以直接使用 ,而类型参数需要在调用泛型类和泛型方法时指定
List<?> 逻辑上是所有List<具体类型实参> 的父类 ,满足的是一个范围
List 只能指定一个类型

        ArrayList<Integer> integers = new ArrayList<>();
        ArrayList<? extends Integer> list = new ArrayList<Integer>();
        list.get(0);
        // 编译不通过;只能读,不能写
        list.add(12);
posted @ 2022-04-21 22:13  HypoPine  阅读(149)  评论(0编辑  收藏  举报