在Java中使用泛型时,可以通过以下步骤进行:
声明泛型类:使用尖括号<>在类名后面添加泛型参数。例如,class MyClass<T> { }
表示一个拥有泛型参数T的类。
使用泛型类:在创建类的实例时,指定具体的类型参数。例如,MyClass<String> myObj = new MyClass<String>();
表示创建一个泛型类实例,其中类型参数T被指定为String。
声明泛型方法:与声明泛型类类似,使用尖括号<>在方法名后面添加泛型参数。例如,public <T> void myMethod(T obj) { }
表示一个拥有泛型参数T的方法。
使用泛型方法:在调用方法时,可以根据需要指定具体的类型参数,也可以让编译器自动推断类型参数。例如,myMethod("Hello");
表示调用myMethod方法并传递一个String类型的参数。
泛型通配符:有时候,不确定泛型参数的具体类型,可以使用通配符?
来表示。例如,List<?> myList = new ArrayList<String>();
表示创建一个泛型列表,但不确定列表中元素的具体类型。
泛型限定:可以使用 extends 关键字限定泛型参数的类型范围。例如,public <T extends Number> void myMethod(T obj) { }
表示限定泛型参数T必须是Number类或其子类。
以上是Java中使用泛型的基本用法,通过泛型可以增加代码的灵活性和安全性,可以在编译时进行类型检查,减少运行时错误。