泛型之泛型方法
public class F { //泛型方法 public static <T> T getT(T[] array) { return array[array.length/2]; } public void f() { //显式赋值 String name1 = F.<String>getT(new String[] {"张三","李四","王五"}); //隐式赋值,常用此方式,可以不指定 <String> String name2 = F.getT(new String[] {"张三","李四","王五"}); } }
泛型方法不受类的限制,也就是说,即使方法所在的类不是泛型类,也可以定义泛型方法;在泛型类中定义的方法,也不一定是泛型方法,就看你如何定义了。
定义泛型方法的格式:修饰符 <T> 返回值 方法名() {}
泛型方法的特点:
- 类型变量(<T>)定义在返回值之前,这是必须的,只有这样,它才是泛型方法
- 在返回值类型中使用泛型
- 在方法参数类型中使用泛型
- 泛型方法不受类的限制,不受static的限制
正常的泛型方法既有返回值也有方法参数,并且返回值和方法参数都使用泛型T,但即使没有泛型方法没有返回值或者没有方法参数,也不算错,但没有意义。
- 泛型类中可以定义泛型方法。注意:是泛型方法,与泛型类中的方法是两码事
- 普通类中也可以定义泛型方法
- 泛型方法 != 泛型类中的方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)