您的位置:首页 > 编程语言 > Java开发

java泛型:通配符详解extends super

2018-02-22 09:04 218 查看
在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符。

实例化泛型对象,我们不能够确定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 通配符

如果你既想存,又想取,那就别用通配符

不能同时声明泛型通配符上界和下界
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: