zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    口腔溃疡
    English 好的报纸
    线段树
    归并排序 霍纳规则(法则) 统计逆序对
    xfce4桌面自动整理脚本
    解决xubuntu的thunar第一次启动慢
    解决ibus图标为红圈(图标丢失)
    linux tar 备份命令
    ubuntu中的Wine详解
    我的conky配置
  • 原文地址:https://www.cnblogs.com/leonkobe/p/4277477.html
Copyright © 2011-2022 走看看