首页 > 代码库 > java泛型

java泛型

Java中的泛型(Generic Type)

基本精神:数据类型参数化

集合框架中没使用泛型和使用泛型的比较

没使用泛型

List myIntList = new LinkedList(); // 1

myIntList.add(new Integer(100)); // 2

Integer x = (Integer) myIntList.iterator().next(); // 3   

使用泛型

List<Integer> myIntList = new LinkedList<Integer>(); // 1‘

myIntList.add(new Integer(0)); // 2‘

Integer x = myIntList.iterator().next(); // 3‘

自己编写一个泛型类

public class MyTest<T> {

  private T var;

  public T getVar() {

  return var;

  }

  public void setVar(T var) {

  this.var = var;

  }

  public void print()

  {

     System.out.println(var);

  }

}

泛型的规则和限制

通过上述的例子,我们简单理解了泛型的含义。在使用泛型时,请注意其使用规则和限制,如下:

1、泛型的参数类型只能是引用类型,而不能是简单类型。

      比如,<int>是不可使用的。

2、可以声明多个泛型参数类型,比如<T, P,Q…>,同时还可以嵌套泛型,例如:<List<String>>

3、泛型的参数类型可以使用extends语句,例如<T extends superclass>。

4、泛型的参数类型可以使用super语句,例如< T super childclass>。

5、泛型还可以使用通配符,例如<? extends ArrayList>


java泛型