对java泛型的理解
一.什么是泛型:
泛型其实指得就是参数化类型,使得代码可以适应多种类型,它主要目的是指定容器要持有什么类型的对象
java的泛型是停留在编译阶段的,jvm在对待泛型数据时,依然把它们看成object类型的,在使用这些元素时,jvm会自动帮助开发者进行类型转化
二.泛型的优点:
1.保证了类型的安全:
可以指定容器中存放的是特定的对象,不是编译器则会报错
2.消除了强制类型转换
3.提高了代码的通用性,也提高了性能
三.泛型的使用例子:
1.元组:下面是个三元元组
public class Tuple<A, B, C> {
private A a;
private B b;
private C c;
public Tuple(A a, B b, C c){
this.a = a;
this.b = b;
this.c = c;
}
public String toString(){
return "(" + a + "." + b + "." + c + ")";
}
}
2.泛型接口:
public interface Tuple<T>{
T next();
}
3.泛型方法
泛型方法有一个基本原则,尽量使用泛型方法而不是泛型类。只要能够用泛型方法达到需求,就应该只用泛型方法,这样能使得代码更加清晰。
泛型方法的定义:泛型参数列表置于返回值前,例如 public < T> void f(T t)
四.泛型的衍生:super和extend
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?