- 1
- 0
- 约3.54千字
- 约 5页
- 2026-07-27 发布于河北
- 举报
Java泛型基础面试题及详细答案(实战口语版)
1.什么是Java泛型?为什么要使用泛型?
参考答案:
泛型就是参数化类型,简单说就是把数据类型变成参数,在定义类、方法、接口的时候不指定具体类型,在使用的时候再确定具体类型。
日常开发用泛型主要解决三个核心问题:
第一,编译期类型检查。不用泛型的时候,集合可以存任意Object类型,编译不报错,运行才会报类型转换异常;用了泛型,类型不匹配直接编译失败,提前规避问题。
第二,避免强制类型转换。从集合取数据时,不用手动强转,代码更简洁,也不会出现强转异常。
第三,代码复用。一套代码可以适配多种数据类型,不用为每种类型单独写一套工具类或方法。
补充:泛型只在编译阶段生效,运行时会被擦除,不存在泛型类型。
2.泛型的本质是什么?什么是类型擦除?
参考答案:
泛型的底层本质就是编译期语法糖。
类型擦除是泛型最核心的机制:Java编译器在编译带泛型的代码时,会把所有泛型标识(T、E、?这些)全部擦除,替换成原始类型(默认Object,有上界就替换成上界类型),同时自动插入强制类型转换代码。
举个例子:定义ListString,编译之后字节码里就是List,和原始的List一模一样。
这也是为什么说泛型只存在于编译期,运行时无效。
常见擦除规则:
1.无边界泛型T→擦除为Object
2.有上界泛型TextendsNum
您可能关注的文档
最近下载
- 20231102-国信证券-港股ROE量化投资策略(三):从个股案例中寻找进攻策略的底层逻辑.pdf VIP
- 机场中转航班最短衔接时间测算办法.doc VIP
- 创先创效劳动竞赛提升企业竞争实力和业绩绩效实践与探索.doc VIP
- ISO9001管理评审记录与实施全套手册_含完整填写示例.docx VIP
- 低空经济专题之三:eVTOL详细拆解.pdf VIP
- 医院关于成立实验室生物安全管理委员会通知.docx
- 合规转利润:降本增效全指南(2026)《GBT 24067-2024温室气体 产品碳足迹 量化要求和指南》.pptx VIP
- 医院信息科面试题及答案.docx VIP
- 树木移植购销合同.doc VIP
- 医院信息科面试题.pdf VIP
原创力文档

文档评论(0)