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()

  • 相关阅读:
    DOM解析和SAX解析对比
    SAX解析示例代码和原理
    xPath技术
    dom4j工具对XML写入修改删除操作实现
    Dom4j工具j解析XML原理和示例代码
    Servlet的多线程并发问题
    Servlet的自动加载
    servlet缺省路径
    线程安全问题出现 的根本原因和解决方案
    9.12測试(四)——測试笔
  • 原文地址:https://www.cnblogs.com/leonkobe/p/4277477.html
Copyright © 2011-2022 走看看