-
Java泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递
-
常见形式有泛型类、泛型接口、泛型方法
-
语法:<T,...> T称为类型占位符,表示一种引用类型
-
好处:(1)提高代码的重用性(2)防止类型转换异常,提高代码的安全性
泛型类
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); } }
搜索
复制
标签:String,jihe,package,class,集合,泛型,public From: https://www.cnblogs.com/sususyq-/p/16710782.html