泛型和上一篇博客《Java中常用关键字》一样,是在面试Java基础内容时,比较容易被问到的问题。
所以这篇博客继续总结Java基础部分——泛型的相关知识,包括——
目录
1、什么是泛型——
2、泛型的实现原理——
Java 的泛型是伪泛型,Java 中的泛型基本上都是在编译器这个层次来实现的,在生成的 Java 字节码中是不包含泛型中的类型信息的,使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。
3、泛型的特性——
4、使用场景——
JAVA 中泛型的使用:
java 中集合使用了泛型,Future<T>,WeakReference<T>,Class<T>也都使用了泛型
一些使用场景:
- 不想写多个重载函数的场景。
- 约束对象类型的场景,可以定义边界(T extends ...),如 JDK 集合 List,Set。
- 用户希望返回他自定义类型的返回值场景,如 Json 返回 Java bean。
- 在用反射的应用中,也经常会用到泛型,如 Class<T>。
- 对网页,对资源的分析,返回场景,一般都有泛型。
5、测试用例——
6、泛型的具体使用(泛型类、泛型接口、泛型方法、泛型通配符、泛型数组)——
①泛型类:
②泛型接口:
③泛型方法
④泛型通配符:
⑤泛型数组:
7、静态方法与泛型——
8、为传入的泛型实参进行上下边界的限制——
关于泛型的相关知识就是以上了,面试的时候一样,尽量口语化,最好能够根据不同的点举个例子说明~