java中泛型运用的目的就是实现对象的重用,这样一个Object我想应该可以了吧,为什么还要新增一个类型?
经查阅资料,发现泛型T和Object类其实在编写时没有太大区别,只是JVM中没有T这个概念,T只是存在于编写
时,进入虚拟机运行时,虚拟机会对泛型标志进行擦除,也就是替换T会限定类型替换(根据运行时类型),如果
没有限定就会用Object替换。
同时Object可以new Object(),就是说可以实例化,而T则不能实例化。
在反射方面来说,从运行时,返回一个T的实例时,不需要经过强制转换,然后Object则需要经过转换才能得到。
以上纯属个人观点,如有不正之处,还请指正。
经查阅资料,发现泛型T和Object类其实在编写时没有太大区别,只是JVM中没有T这个概念,T只是存在于编写
时,进入虚拟机运行时,虚拟机会对泛型标志进行擦除,也就是替换T会限定类型替换(根据运行时类型),如果
没有限定就会用Object替换。
同时Object可以new Object(),就是说可以实例化,而T则不能实例化。
在反射方面来说,从运行时,返回一个T的实例时,不需要经过强制转换,然后Object则需要经过转换才能得到。
以上纯属个人观点,如有不正之处,还请指正。