Java泛型-泛型通配符的使用

时间:2022-03-30 19:23:39

我们在查看JDK的帮助文档时,可能经常看到这样的东西:

Java泛型-泛型通配符的使用

    这是什么呢?
可能大家已经猜到了,这个就是通配符。

通配符的作用
通配符可以引用其他各种参数化的类型,通配符定义的变量主要用作引用。

  • 限定通配符的上边界:
//正确的使用, Number是8种基本数据类型的父类
List<? extends Number> list = new ArrayList<Integer>();

//错误的使用, String不是基本数据类型
List<? extends Number> list = new ArrayList<String>();
  • 限定通配符的下边界:
//正确的使用, NumberInteger的父类
List<? super Integer> list = new ArrayList<Number>();

//错误的使用 Byte不是Integer的父类
List<? super Integer> list = new ArrayList<Byte>();
  • 注意:限定通配符总是包括自己.