什么是泛型
Java中一种不确定的数据类型,本质是参数化类型。由于集合中可以存储各种类型的对象,但是使用时往往需要进行类型转换,非常不方便。合理的使用泛型提供了编译时的类型安全,确保能把正确类型的对象放入集合中。
Java的泛型时如何工作的
泛型是通过类型擦除来实现的,编译器在编译时擦除了所有类型相关的信息,所以在运行时不存在任何类型相关的信息。你无法在运行时访问到类型参数,因为编译器已经把泛型类型转换成了原始类型。
什么是泛型中的限定通配符和非限定通配符
有两种限定通配符,一种是<? extends T>,另一种是<? super T>。
< ? >表示了非限定通配符,因为< ? >可以用任意类型来替代。
泛型中extends和super的区别
- < ? extends T > 表示包括T在内的任何T的子类
- < ? supere T > 表示包括T在内的任何T的父类
Array中可以用泛型吗
Array不支持泛型,但是List支持泛型,可以提供编译器的类型安全保证。
泛型的应用场景
当类中要操作的引用数据类型不确定的时候,过去使用 Object 来完成扩展,JDK 1.5后推荐使用泛型来完成扩展,同时保证安全性。
成功需要时间
不能一蹴而就
努力工作
坚持不懈
保持耐心