java泛型速查手册是按场景、报错、符号和限制四维度快速定位用法的归纳方法:泛型类/方法/集合为常用入口;编译错误提示直指漏泛型、未声明类型参数等问题;声明类型参数,及上下界通配符用于安全读写;泛型不支持基本类型和协变。

Java 泛型速查手册不是一本实体书或官方文档名称,而是一种实用归纳方式——它指代的是对泛型核心用法、常见写法和易错点的快速定位与查阅方法。掌握“怎么查”,本质是建立清晰的检索路径:按使用场景找语法,按报错信息反推规则,按关键词锁定要点。
按用途查:类、方法、集合,三类入口最常用
日常开发中,90% 的泛型需求落在以下三类结构上,直接按需切入:
-
泛型类:看类定义是否带
<t></t>,如class Box<t> { ... }</t>;实例化时写Box<string> box = new Box();</string> -
泛型方法:方法签名前有类型参数声明,如
public <e> void print(E item) { ... }</e>;调用时通常可省略类型实参(编译器自动推断) -
集合泛型:这是最频繁场景,如
List<integer></integer>、Map<string person></string>;注意右侧new ArrayList()中的空尖括号是 Java 7+ 推荐写法
按报错查:编译错误提示就是速查线索
泛型相关错误几乎都发生在编译期,错误信息自带关键线索:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
-
incompatible types: Object cannot be converted to String→ 检查集合是否漏写了泛型,比如用了ArrayList而非ArrayList<string></string> -
cannot resolve symbol T→ 类或方法未声明类型参数,比如在普通类里直接写T value;却没加<t></t> -
generic array creation→ 尝试用new T[10]创建泛型数组,这是禁止的;应改用Object[]+ 显式转型,或用ArrayList<t></t>
按符号查:三个核心符号对应三类操作
泛型语法围绕三个关键符号展开,记住它们的含义就能快速定位规则:
-
<t></t>:类型参数声明位,出现在类名后、方法返回类型前,表示“此处接受一个类型占位符” -
>:通配符,用于变量声明,表示“某个未知但确定的类型”,如List> list可接收任何List -
extends X>和super X>:带边界的通配符,前者用于读取(安全上限),后者用于写入(安全下限),例如void process(List super Integer> nums)允许传入List<number></number>或List<object></object>
按限制查:基本类型不能直接用,多态不穿透泛型
两个硬性限制常被忽略,却是高频踩坑点:
- 泛型只支持引用类型:不能写
ArrayList<int></int>,必须用包装类ArrayList<integer></integer>;必要时可用IntStream等原生类型替代方案 - 泛型类型不协变:即
ArrayList<string></string>不是ArrayList<object></object>的子类型;若需向上兼容,要用通配符,如ArrayList extends Object>
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










