zoukankan      html  css  js  c++  java
  • 二.5 java高级-泛型

    一.泛型

    1.定义:泛型的本质是参数化类型,就是将类型参数化。限制数据元素的数据类型,提供了编译时的安全检查

        泛型是编译时的,编译完成后,会将泛型擦除

    2.泛型的用法:泛型类,泛型接口,泛型方法

    3.泛型标记:E-Element,T-Type, K-Key, V-Vlaue, N-Number, ?

    4.泛型限定:

    (1)对泛型上限的限定:<? extends T>  表示该通配符所代表的类型是T类型的子类或者接口T的子接口

    (2)对泛型下限的限定:<? super T>      表示该通配符所代表的类型是T类型的父类或者父接口  

    5.泛型方法:将方法的参数类型定义为泛型,以便在调用时接收不同类型的参数

      public static <T> void generalMethod(T... inputArray)   inputArray为泛型参数列表

      <T>就表示这是一个泛型方法

    6.泛型类:在类上定义了泛型,以便在使用时可以根据传入的不同参数类型实例化不同的对象

    public class GeneralClass<T> {
    
        private T t;
        public void add(T t){
    
          this.t=t;
        }
        public T get(){
    
          return t;
        }
      }

    7.泛型接口:与泛型类的声明类似。泛型接口的具体类型一般在实现类中声明,不同类型的实现类处理不同的业务逻辑

    8.类型擦除:在编码阶段采用泛型加上的类型参数,会被编译器编译时去掉。因此,泛型主要用于编译阶段

  • 相关阅读:
    c++ namespace简单用法
    python2编码问题
    python dict()函数 /// logging模块///yield//生成器和迭代器
    python 对于一个字典,根据其value值获取其对应的keys值
    python 包/库/模块
    python __init()__
    python continue 和 break的区别
    python list去重
    linux命令,将一个文件夹中的内容copy到另外一个文件夹
    python 正则(re.compile()/re.findall())
  • 原文地址:https://www.cnblogs.com/midiyu/p/15138638.html
Copyright © 2011-2022 走看看