泛型通配符
来源:互联网 发布:马来西亚海关数据 编辑:程序博客网 时间:2024/05/17 22:09
泛型通配符
import java.util.ArrayList;
import java.util.Collection;
/*
* 泛型高级(通配符)
* ?:
* ? extends E:
* ? super E:
*
* */
class Animal{}
class Dog extendsAnimal{}
classCat extendsAnimal{}
public classGenericDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//泛型如果是明确的写的时候,前后必须一致
Collection<Object>c1 = newArrayList<Object>();
// Collection<Object>c2 = new ArrayList<Animal>(); //出错
// Collection<Object>c3 = new ArrayList<Dog>(); //出错
// Collection<Object>c4 = new ArrayList<Cat>(); //出错
//?表示任意的类型都是可以的
Collection<?>c5 = newArrayList<Object>(); //正确
Collection<?>c6 = newArrayList<Object>(); //正确
Collection<?>c7 = newArrayList<Object>(); //正确
Collection<?>c8 = newArrayList<Object>(); //正确
//? extends E:向下限定,E及其子类
// Collection<?extends Animal> c9 = new ArrayList<Object>(); //出错
Collection<?extendsAnimal>c10 = new ArrayList<Animal>(); //正确
Collection<?extendsAnimal>c11 = new ArrayList<Dog>(); //正确
Collection<?extendsAnimal>c12 = new ArrayList<Cat>(); //正确
//? super E:向上限定,E及其父类
Collection<?superAnimal>c13 = new ArrayList<Object>(); //正确
Collection<?superAnimal>c14 = new ArrayList<Animal>(); //正确
// Collection<?super Animal> c15 = new ArrayList<Dog>(); //出错
// Collection<?super Animal> c16 = new ArrayList<Cat>(); //出错
}
}
- 泛型中的?通配符
- 泛型高级通配符
- 泛型通配符
- java泛型通配符
- java泛型通配符
- 泛型通配符
- 泛型通配符
- java泛型通配符
- Java泛型通配符
- 泛型通配符
- Java泛型通配符
- 泛型和通配符
- Java泛型通配符
- 泛型通配符
- 泛型通配符
- java泛型通配符
- java泛型通配符
- java5-泛型通配符
- Python爬虫学习笔记二:百度贴吧网页图片抓取
- POJ2251 - Dungeon Master
- 使用HTML和CSS实现大白
- 结构体成绩统计
- Python简易百度百科爬虫
- 泛型通配符
- 神奇的身高
- LeetCode——013
- uva 12563(01背包)
- POJ 1324 BFS+状压
- 高光谱遥感图像处理(3)-----ENVI进阶知识
- 常量&变量&表达式
- POJ-1502 MPI Maelstrom
- 扑克牌顺子