java泛型:通配符详解extends super
2018-02-22 09:04
218 查看
在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符。
实例化泛型对象,我们不能够确定eList存储的数据类型是Integer还是Long,因此我们使用List< ? extends Number>定义变量的类型。
上界类型通配符:add方法受限
下界类型通配符:get方法受限
如果你想从一个数据类型里获取数据,使用 ? extends 通配符
如果你想把对象写入一个数据结构里,使用 ? super 通配符
如果你既想存,又想取,那就别用通配符
不能同时声明泛型通配符上界和下界
实例化泛型对象,我们不能够确定eList存储的数据类型是Integer还是Long,因此我们使用List< ? extends Number>定义变量的类型。
List< ? extends Number > eList = null; eList = new ArrayList<Integer>(); eList = new ArrayList<Long>();
上界类型通配符(? extends)
<=下界类型通配符(? super )
>=总结
限定通配符总是包括自己上界类型通配符:add方法受限
下界类型通配符:get方法受限
如果你想从一个数据类型里获取数据,使用 ? extends 通配符
如果你想把对象写入一个数据结构里,使用 ? super 通配符
如果你既想存,又想取,那就别用通配符
不能同时声明泛型通配符上界和下界
相关文章推荐
- Java泛型三:通配符详解extends super
- Java泛型:通配符详解extends super
- JAVA泛型与通配符详解
- Java泛型三:通配符详解extends super
- 详解Java泛型(四)之通配符类型
- Java 泛型:通配符详解extends super
- JAVA泛型详解
- Java泛型和通配符那点事
- Java泛型详解
- Java泛型详解1
- Java泛型通配符extends与super
- Java泛型方法定义及方法前加<T>详解
- Java泛型详解,通俗易懂
- Java泛型详解
- java泛型通配符?
- java泛型通配符和类型参数的范围
- Java泛型详解
- java 泛型详解(普通泛型、 通配符、 泛型接口)
- java泛型使用详解
- JAVA泛型详解(上)