欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对泛型的认识

程序员文章站 2024-03-14 19:37:28
...
 泛型:
* 1.用在类上
* 2.用在接口上
* 3.用在方法上(方法的返回值)
* public  <T> list<T>  中间的<T>只是一个声明,并没有太多的用处,但是如果方法上没有这个标识,则表示不是泛型方法
* ?是一个占位符,   <? extends K > or <? extend V>通过这样的形式去使用
*                  <T extends K> or<T extend V>
*                   以上这两点中的extends其实起到一个限定边界的作用
*                   下面一个简单的实例:
*                   ? extends Animal   表示 ?的最大的边界为animal,而他是不能去超越annimal去访问
*                   animal的父类的.
*                   为什么会出现泛型:
*                      1.避免数据类型强转带来的exception
*                      2.确定了参数列表或者接口,类上的参数类型
*                      3.解决了代码的冗余程度

即:如果没有使用泛型导致的结果:1.参数类型任意化,定义为Object类型,2.然后数据类型强制转化,而这种转换编译期是不会错误的,因此存在很大的安全隐患,只有在运行期才会出现错误

3.泛型可以理解为一个方法的参数列表(只是进行类比,但是实质上并不是,根据每个人的理解了)

4.关于类型通配符:

  ? extends A 表示是当前A的子类,并不能找到其A的父类

  ? super A 表示的当前A的父类,并不能找到其A的子类,

  ? 表示匹配任意的.List<?>

关于泛型的总结和平时的使用大概就是以上几点了,