静态泛型方法的类型参数t必须写在static之后、返回类型之前,即 返回类型 方法名(...);t可用于参数、返回值和方法体;可使用extends约束上界;静态方法不能访问外部类的泛型参数。

<p>静态泛型方法声明泛型 <strong>T</strong> 时,必须把类型参数写在返回值之前、<strong>static</strong> 关键字之后,语法为:<strong><T> 返回类型 方法名(...)</strong>。</p>
<h3>泛型参数位置不能错</h3>
<p>错误写法(编译不通过):<br><font color="red">static <T> void method() {...}</font> —— <strong><T></strong> 不能放在 <strong>static</strong> 前面<br>
正确写法:<br><font color="green">static <T> void method() {...}</font> —— <strong><T></strong> 紧跟 <strong>static</strong>,在返回类型前</p>
<h3>泛型 T 可以用于参数、返回值和方法体</h3>
<p>声明后,<strong>T</strong> 就可在整个方法签名和内部使用:</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review"><img
src="https://img.php.cn/upload/skill/000/000/081/179084711841712.jpg" alt="Java Maven Code Review" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review" class="overflowclass">Java Maven Code Review</a>
<p class="overflowclass">审查Java Maven项目(ZIP压缩包或GitLab仓库URL),检查代码规范、命名、模块边界、可维护性问题以及重复代码。</p>
</div>
<a rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>
- 作为形参类型:如 <T> void print(T obj)
- 作为返回类型:如 <T> T getValue()
- 用于局部变量或类型转换:如 T[] arr = (T[]) new Object[10];(需注意类型擦除带来的限制)
可约束泛型边界(可选但常用)
用 extends 限定 T 的上界,提升类型安全性:
- <T extends Comparable<T>>:要求 T 实现 Comparable
- <T extends Number>:允许调用 doubleValue() 等方法
- 多个上界用 & 连接,如 <T extends Runnable & Cloneable>
不能访问外部类的泛型类型参数
静态方法属于类而非实例,无法引用外部类定义的泛型(如 class Box<E> 中的 E):
- ❌ 错误:static void badMethod(E e) { ... }(E 不可见)
- ✅ 正确:static <T> void goodMethod(T t) { ... }(重新声明自己的 T)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










