Java中的泛型是在jdk5.0引入的,语法不难,但是需要注意的细节有很多,这里写一下备忘。
首先是最简单的泛型类,泛型方法,泛型接口:
1 //泛型接口的定义 2 interface MyInter<T> { 3 public void myfunc(T arg); 4 } 5 6 //泛型类的定义 7 public class Test<T> { 8 private T data; 9 10 //泛型方法的定义 11 public T func(T arg) { 12 return data; 13 } 14 15 }
然后是泛型的通配符:
1 public void fun(Test<?> arg) { 2 3 }
然后是泛型的限定,分为上限和下限:
1 //上限,表示MyClass类及其子类 2 public void func(Test<? extends MyClass> arg) { 3 4 }
1 //下限,表示MyClass类及其父类 2 public void func(Test<? super MyClass> arg) { 3 4 }