下面是我对于泛型的理解:希望有高手帮我看看哪里不对,语言组织的也不是很好,有大神能更言简意赅的总结一下吗?(ps:乱水的就不要了:handshake)
在类中操作引用数据类型时,为了让类功能更强,(比如工具类,必须能操作某一类事物)可以在类中用Object来接收具体的引用数据类型(P).
当要操作该类型(P)的具体功能时,必须进行强制类型转换.
但是由于Object能指向任意的引用数据类型,具体的引用数据类型能够向上转型,可能一开始接收的时候就不是该类型(P),
所以进行强制类型转化时会发生类型转换问题。
由于不检测强制类型转换代码两边具体类型和指向的引用数据类型是否一致,编译不会出现问题,//这一段感觉怪怪的
但是运行时就会出现问题,这是一个安全隐患。
有了泛型以后,当定义的接收类型和传入的类型不一致时,编译器就能
报告问题,由于泛型的补偿,运行时不需要强制类型转化。
泛型将运行时的问题转移到编译时期,让程序员解决,不用使用者面对。
可不可以说是由于编译器功能不足,泛型的出现就像一个补丁,弥补这个漏洞?
|
|