泛型相关知识点:
- 关键字generics
- 协变
- 逆变
- 类型擦除
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/70009770313141efb32a50dd575c63aa.jpeg)
什么是类型擦除?
在Java中,类型擦除是指在编译时期将泛型类型信息擦除,以便在运行时能够更好地与遗留的非泛型代码进行互操作。这意味着在编译后,泛型类型的具体信息将丢失,而只保留原始类型的信息。
类型擦除的意义在于允许Java在引入泛型之后,仍然能够向后兼容旧版本的Java代码。虽然在编译时会对泛型进行类型检查,但在生成的字节码中并不包含关于泛型类型的具体信息,这样就可以避免出现向后不兼容的情况。
尽管类型擦除在一定程度上限制了泛型的能力,但它为Java提供了更好的兼容性和互操作性,使得泛型可以与之前的代码和库协同工作。