1.使用泛型的意义
使用泛型的意义在于可以将类型参数化,即可以将数据或者对象的类型以参数的形式传递给函数。
2.定义泛型方法
泛型的定义格式为:修饰符<类型参数列表> 返回类型 方法名 (形式参数) {方法体}
如下实例 public <A, B> int function(List<A> list, B name, int t) { ... }
其中T,S 为泛型,泛型函数的定义区别于普通函数只是在修饰符于函数返回类型之间增加了一个指明泛型的表示<A,B>,并将不明确的参数的类型替换为泛型。
泛型类型的作用域为 定义泛型函数的作用作用域或者定义泛型类的作用域,如:public cla<A,B>{...},则泛型<S,T>的作用域为花括号之内。
3.泛型的调用
同样以public static <A, B> int function(List<A> list, B name, int t) { ... }为例。
在调用的时候明确A代表int类型,B代表double类型,则调用function函数的方法为
object.<int,double> function(list1,name,5),其中object为该泛型类所属类的一个对象。
当然,java中具有隐式自动推断功能,不指明泛型的参数,编译器会根据泛型方法的类型参数自动推断出泛型的具体类型,如调用object.function(2,tony,5),编译器会自动推断A为整形数组,B为String类型。