Java泛型是“参数化类型”,即定义类、接口或方法时使用类型占位符,使用时替换为具体类型(如String、Integer),在编译阶段检查类型错误,提升安全性与通用性。

Java泛型的意思是“参数化类型”。你可以把它想象成给类、接口或方法定义时,留一个占位符来代表某种类型,等到真正使用的时候再把这个占位符替换成具体的类型,比如 String、Integer 等。
它的主要目的就是在编译阶段就能帮你检查出类型错误,避免在程序运行到一半时才发现类型不匹配的问题。比如说,你创建了一个只存整数的列表,用了泛型后,如果有人不小心往里面塞了个字符串,编译器马上就会报错,而不是等到运行时报错。
核心作用
泛型的核心就是让代码更安全、更通用。它把原来需要在运行时才能发现的类型问题,提前到了写代码和编译的时候就解决掉。举个例子:没有泛型之前,集合类(如 List)里的元素都默认是 Object 类型。从集合里取出数据后,你得自己手动转换成想要的类型(比如 (String) list.get(0)),这个过程容易出错。用了泛型之后,你可以直接声明一个 List,这样编译器就知道这个列表只能放字符串,取出来也自动是字符串类型,省去了强制转换的麻烦,也杜绝了类型转换异常的可能性。
常见应用场景
泛型主要用在这三种地方:-
泛型类:像集合框架里的 ArrayList
,这里的 E 就是个类型参数,代表列表里元素的类型。 -
泛型接口:比如实现一个通用的比较器接口 Comparable
,T 代表要比较的对象类型。 -
泛型方法:可以在普通类里定义一个方法,让它能处理不同的类型,方法签名里会单独用
来声明类型参数。











