概述
泛型,即参数化类型(把类型当做一个参数传入?,添加规则,用类型限制输入,和多态中用父类限定子类类似)。
集合中可以存储任何类型的对象,但把不同对象以同一种方式输出的时候,在运行时会出现问题。比如,我们把String类型的aaa存入集合,再把Int类型的111存入集合, 然后以String类型输出集合,此时编译不会出现问题,而在运行的时候会报错。
泛型的存在意义,就是在编译的时候,就把这个问题就报给程序员,告诉说,输出的时候会出现类型问题。请手动解决。
此时,泛型就是一个过滤器。(一个在编译阶段的过滤器,方便程序的编写)。
相反,如果你不给泛型这个过滤器设置过滤条件的话,它就和集合一样,可以输入各种类型的参数。但你需要输出的话,还是得不同类,分别输出。这意味着你不必刻意去定义一个类,直接调用泛型存入就可以了?
- 泛型类
- 泛型接口
- 泛型通配符
- 泛型方法
- 泛型的上下边界(设定类型实参只准传入某种类型的父类或某种类型的子类。)
// 当你在泛型类中定义一个泛型方法的时候,即便其表示泛型的字母相同,其类可以不同。
//泛型是个好东西,能用尽量用。