对泛型的认识

 泛型:
* 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<?>

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值