对java泛型的理解

一.什么是泛型:
  泛型其实指得就是参数化类型,使得代码可以适应多种类型,它主要目的是指定容器要持有什么类型的对象
  java的泛型是停留在编译阶段的,jvm在对待泛型数据时,依然把它们看成object类型的,在使用这些元素时,jvm会自动帮助开发者进行类型转化
二.泛型的优点:
  1.保证了类型的安全:
    可以指定容器中存放的是特定的对象,不是编译器则会报错
  2.消除了强制类型转换
  3.提高了代码的通用性,也提高了性能

三.泛型的使用例子:
 1.元组:下面是个三元元组
  public class Tuple<A, B, C> {
    private A a;
    private B b;
    private C c;

    public Tuple(A a, B b, C c){
      this.a = a;
      this.b = b;
      this.c = c;
    }

    public String toString(){
      return "(" + a + "." + b + "." + c + ")";
    }
  }


 2.泛型接口:
  public interface Tuple<T>{
    T next();
  }


 3.泛型方法
  泛型方法有一个基本原则,尽量使用泛型方法而不是泛型类。只要能够用泛型方法达到需求,就应该只用泛型方法,这样能使得代码更加清晰。
泛型方法的定义:泛型参数列表置于返回值前,例如 public < T> void f(T t)

四.泛型的衍生:super和extend

猜你喜欢

转载自www.cnblogs.com/nyhhd/p/12539150.html