Java 泛型

一:泛型分三类:
  1 类上的泛型、2接口上的泛型、3 泛型方法

二:什么时候用?
  如果你写两套代码,处理流程几乎一模一样,只是针对的数据的类型不一样,就可以考虑“只写一遍”,而不是两遍

三:泛型方法
  在返回值前加上符号<T> 表示该方法是泛型方法

  public static <T> List<T> genericMethod(T param,String sql){
    System.out.println("run sql...");
    List<T> list = new ArrayList<T>();
    return list;
  }

四:泛型类
  public class MyList<T>{
    private T t;
    public void add(T t){
      system.out.println("put element into MyList,this element is type of T");
    }
    public T getT(){
      return t;
    }
  }
  泛型类如果将类型传入进来后,就没必要再声明泛型方法了(个人理解),因为类型参数已经传入

五:泛型的边界
  List<? extends T>   表示? 的上限是类型T,可以接收任意T的子类(包括T)的List
  List<? super T>    表示? 的下限是类型T,可以接收任意T的父类(包括T) 的List

六:泛型擦除
  在编译后,所有关于泛型的信息会被擦除掉,所以在方法重载时,类似下面这样情况,是会编译出错的,擦除后,是同一个方法
  public List<Integer> method()
  public List<String> method()

转载于:https://www.cnblogs.com/leonkobe/p/4277477.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值