java-泛型(T)、Object和?


Object: 所有类的基类,需要进行强制转
换。但如果转换错误,只有在运行时才会抛出异常。


泛型T: 可以限定任何类型,在编译时就可以检查。
不需要进行强制转化。


例:
对于List<T>,本身是个泛型,而将类型限定为Object
,即List<Object>,
可以放任意类型,但在
取出元素的时候需要强制转换
;如果限定为String类型,则不需要强制转换


?: 可以接收不确定的类型,和Object类似,但可以缩小范围:? extends A,这样就只能接收A类的子类。

原文地址:https://www.cnblogs.com/cnsec/p/13286794.html