标签:java泛型擦除
Java泛型擦除:
什么是泛型擦除?
首先了解一下什么是泛型?我个人的理解:由于集合中可以存储任意类型的对象,但是集合中最先存储的对象类型一旦确定后,就不能在存储其他类型的对象了,否则,编译时不会报错,但运行时会抛出ClassCastException异常。为解决此问题,引入泛型,指定该集合对象中存储的对象类型,这样一旦该集合中存储了其他的对象类型,编译时会提示错误!(理解不当之处,希望大神多指点)。
泛型的擦除就是说,在编译的时候集合中指定了确定的对象类型,但在运行时将集合中可以存储的该对象类型擦除了!举例来说的话就是:
注意点:Java不能创建泛型数组:因为Java中的数组都是通过反射动态建立的,在运行时,泛型会擦除类型信息,所以没有了类型信息,当然也就不能构造出数组了。
以上言语措辞或对问题的认识上有什么不当的,希望路过大神指教!
标签:java泛型擦除
原文地址:http://blog.csdn.net/u012804490/article/details/37329107