泛型

 


Object范围非常广,Object由于它是所有类的父类,所以会强制类型转换;

T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所以它不用强制类型转换。(泛型在虚拟机中会被JVM擦除掉它的具体类型信息)

 

?接收一个不确定的类型,有点和Object一样。"?"有比Object稍微“高级”有点的用法,就是它能缩小一个不确定的范围,利用类似"? extends Test",这就意味着只接收接收Test类的继承类。可以控制范围,使用父类引用不用强制类型转换。

 

区别 强制类型转换 指定范围 是否使用子类 同一线程同一方法多个类型
Object 是(包括自身)
T
? 是(不包括自身)
posted @ 2019-02-21 14:32  暗夜云遮日  阅读(63)  评论(0编辑  收藏  举报