泛型是什么?关于泛型的一点理解
泛型是什么?
举个例子吧
有一个篮子工厂,负责生产篮子,但是这个篮子将来是用来做什么的,在设计它的时候并不能确定,有可能是装水果的,也有可能是装馒头的
实际上用的时候,你跟厂家说,我要水果篮子,于是厂家就生产水果篮子,但并不是重新设计制造,而只是在制造的时候把你的要求给记录下来,比如生产出来的篮子只能放你规定的东西,如水果,放其他的就不行,取出来的也是水果,如此这般!
有时也用来确定类型,让你去拿东西,不确定是什么东西(液体还是固体,是大是小?),根据东西决定带什么样的容器。
根据参数的类型确定返回值中的类型!
public < T extends BaseDto > List < T > searchByCondition(T entity);
< > 之间的就是你在编程中要求的变量类型
List < ? > ss = new List < ? > ();
?你想放啥类型就放啥类型,这就叫泛型
//此容器只能装字符串。
ArrayList < String > array = new ArrayList < String > ();
Integer i = new Integer(123);
array.add(i);//Error,不能将Integer类型装入容器中
String s = "123456";
array.add(s);//只能装入String类型
//个人觉得泛型是将错误提前到编译期间 而不是让错误在运行时产生