Java成神之路(十五)泛型

泛型

  1. 泛型与继承
    泛型:参数化类型,将类型由原来的具体类型参数化,把类型也定义为行参。方法中均使用同一类型。属于编译期信息,无法提供动态绑定,当类型与方法无关时,使用泛型。使用泛型的类应该有共同的方法,为水平方法,而继承是垂直方向。
  2. 类型擦除
    编译器有效,运行期擦除:List List—编译后为List;主要是为了效率与兼容。
  3. 泛型中的N K T V E ? object的含义
    K:key(键值);T:Type(Java类);V:Value(值);N:Number(数值类型);E:Element(元素,集合元素);?:无限定,Object:所有类的跟类
    所有的类对象都可以给ObJect引用变量,但是需要类型强制转换
  4. 限定通配符和非限定通配符
    表示类型的上界:<? Extends T>,类型必须为T或者其子类
    表示类型的下界:<? Super T>,类型必须为T或者T的父类
    非限定,任意类型代替T
  5. List ,List<?> ,List< Object>的区别
    List:可以添加任意类型的元素,不安全(编译通过),不便利(需要自己强制转换类型),不表述(可以直接看到实参就是其类型)。
    List<?>:通配符类型,接受List任意参数化类型,包括List,不能添加元素,保证安全和便利,但不保证表述。
    List< Object> 参数为对象,可以添加List,可以添加元素,但不能接受除了本身外的任何参数化类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值