美文网首页
Java助基-泛型

Java助基-泛型

作者: 想看烟花么 | 来源:发表于2024-11-26 00:09 被阅读0次

1.为什么要有泛型?

是为了把运行时的错误提前到编译期就发现,不会发生CaseClass Exception。
代码更简洁,无需强转
代码更灵活复用

2.java泛型有几种?

有3种,泛型接口:在接口名字后面加<T> | 泛型类:在类名后面加<T> | 泛型方法:在返回值前加<T>,当泛型参数有多个的时候,因单根继承有且只有一个类,可以多个接口&符号链接,且类必须写最前面。

3.泛型原理是什么?泛型的擦除机制是什么?

image.png

4.java编译器具体是如何擦除泛型的?

image.png

5.泛型擦除了为什么还能够反射?

实际还是保留在了类的常量池里面,retrofit中HttpServiceMethod类就用到了该技术。


image.png

6.泛型类型不能够使用基本变量,为什么?为什么不能使用instance of 来判断对象类型?

image.png image.png

7.泛型还有哪些你知道的问题?

泛型在静态方法和静态类中的问题:


image.png

没法创建泛型实例:


image.png
没有泛型数组:

以下可推导关系称为协变,泛型类型擦除后无法满足协变原则:


image.png image.png image.png image.png

<? extends T>后遗症:


image.png image.png

<? super T>后遗症:


image.png

总结:


image.png

Java泛型PECS原则:


image.png

相关文章

网友评论

      本文标题:Java助基-泛型

      本文链接:https://www.haomeiwen.com/subject/lbhfsjtx.html