集合.泛型
-
-
常见形式有泛型类、泛型接口、泛型方法
-
语法:<T,...> T称为类型占位符,表示一种引用类型
-
泛型类
package jihe; /** * 泛型类 * 语法:类名<T> * T是类型占位符,表示一种引用类型,如果编写多个使用逗号隔开 */ public class Generic<T> { //使用泛型T //1.创建变量 T t; //2.泛型作为方法的参数 public void show(T t){ System.out.println(t); } //3.泛型作为方法的返回值 public T getT(){ return t; } }
package jihe; public class TestGeneric { public static void main(String[] args) { //使用泛型类创建对象 //注意:1.泛型只能使用引用对象 2.不同泛型类型对象之间不能相互赋值 Generic<String> generic = new Generic<String>(); generic.t = "hello"; generic.show("大家好"); String string = generic.getT(); Generic<Integer> generic2 = new Generic<Integer>(); generic2.t = 100; generic2.show(200); Integer integer = generic2.getT(); } }
泛型接口
package jihe; /** * 泛型接口 * 语法:接口名<T> *注意:不能使用泛型静态常量 */ public interface Interface<T> { String name = "张三"; T server(T t); }
package jihe; public class InterfaceImpl implements Interface<String> { @Override public String server(String t) { System.out.println(t); return t; } }
package jihe; public class InterfaceImpl2<T> implements Interface<T>{ @Override public T server(T t) { System.out.println(t); return t; } }
package jihe; public class TestGeneric { public static void main(String[] args) { InterfaceImpl impl = new InterfaceImpl(); impl.server("xxxxx"); InterfaceImpl2<Integer> impl2 = new InterfaceImpl2<>(); impl2.server(1000); } }
泛型方法
package jihe; /** * 泛型方法 * 语法:<T>返回值类型 */ public class GenericMethod { //泛型方法 public <T> T show(T t){ System.out.println("泛型方法"+t); return t; } }
package jihe; public class TestGeneric { public static void main(String[] args) { GenericMethod genericMethod = new GenericMethod(); genericMethod.show("加油"); genericMethod.show(1000); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人