- 泛型(Generic)
- 泛型类
- 泛型方法
- 泛型接口
- 泛型通配符
类型安全,Java泛型只在编译阶段有效:在编译过程中,正确检查泛型结果后,会将泛型的相关信息擦除,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。也就是说,泛型信息不会进入到运行时阶段。
泛型类class A泛型方法{ private T key; public void setKey(T key) { this.key=key; } public T getKey() { return this.key; } } A a=new A (); A a=new A(); //不指定泛型相当于指定了Object类型
class C泛型接口{ private E e; public static void test3(T t){ //静态方法中不能使用类定义泛型,只能使用静态方法自己定义的泛型 System.out.println(t); } public void test(T s){ //在类中定义的泛型也可以在普通方法中使用 System.out.println(this.e); T t=s; } public T test1(T s){ return s; } public void test2(T... strs){ for(T s:strs){ System.out.println(s); } } } public class Test1{ public static void main(String[] args){ C
interface IB泛型通配符{ T test(T t); } //未传入泛型实参时,与泛型类的定义相同,在声明类的时候,需要将泛型的声明一起加到类中 class B1 implements IB { @Override public T test(T c){ return t; } } //如果在实现接口时指定泛型的类型 class B2 implements IB { @Override public String test(String t){ return t; } }
class Dd{
//需要一个List集合,但不确定List集合到底存的是什么数据类型
public void test(List> list){
}
}
有限制的通配符
- extends class> class及其子类
- super class> class及其父类
- extends interface >接口及其实现类



