当前位置:   article > 正文

简述Java泛型中的类型通配符<?>用法_泛型填?

泛型填?

先上一个Integer类型的继承体系结构,Integer 继承了 Number,间接继承了 Object
在这里插入图片描述

类型通配符:<?>,可以填入任何类型,但是不能添加元素

List<?> list1 = new ArrayList<Object>();
List<?> list2 = new ArrayList<Number>();
List<?> list3 = new ArrayList<Integer>();
  • 1
  • 2
  • 3

类型通配符上限:<? extends 类型>,不能高于此类型,可用当前类型及其子类

//List<? extends Number> list4 =new ArrayList<Object>();    //错误用法
List<? extends Number> list5 =new ArrayList<Number>();
List<? extends Number> list6 =new ArrayList<Integer>();
  • 1
  • 2
  • 3

类型通配符下限:<? super 类型>,不能低于此类型,可用当前类型及其父类

List<? super Number> list7 =new ArrayList<Object>();
List<? super Number> list8 =new ArrayList<Number>();
//List<? super Number> list9 =new ArrayList<Integer>();     //错误用法
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/1012914
推荐阅读
相关标签
  

闽ICP备14008679号