Java泛型高频面试题(含答案).docxVIP

  • 1
  • 0
  • 约4.09千字
  • 约 6页
  • 2026-08-24 发布于河北
  • 举报

Java泛型高频面试题(含答案)

一、基础概念类(初级必问)

1.什么是泛型?为什么要使用泛型?

参考答案:

泛型是JavaJDK5引入的参数化类型机制,允许在定义类、接口、方法时使用不确定的类型参数,在使用时再指定具体类型。

核心作用有三点:

1.编译期类型检查:将类型转换异常从运行期提前到编译期,避免类型转换异常;

2.消除强制类型转换:代码更简洁,减少冗余代码;

3.实现代码通用复用:一套代码适配多种数据类型,无需为不同类型重复定义方法和类。

2.泛型的本质是什么?什么是类型擦除?

参考答案:

泛型的本质是编译期语法糖,仅在编译阶段生效。

类型擦除是指:Java编译器在编译带有泛型的代码时,会擦除所有泛型类型参数,将泛型类型还原为原始类型(RawType),并在对应的位置插入强制类型转换代码。程序运行时,JVM不存在泛型类型信息。

常见擦除规则:

1.无边界泛型T擦除为Object;

2.有上界泛型TextendsNumber擦除为上界类型Number;

3.有下界泛型不会改变擦除后的原始类型。

3.什么是原始类型(RawType)?开发中为什么不建议使用?

参考答案:

原始类型是指不带任何泛型参数的泛型类/接口,比如直接写List、Map,而非ListString、MapK,V。

不建议使用的原因:

1.丢失泛型的类型校验能力,

文档评论(0)

1亿VIP精品文档

相关文档