二.5 java高级-泛型

本文深入探讨了Java中的泛型,包括泛型的基本概念、泛型类、泛型方法、泛型接口及其上下限限定。泛型提供编译时类型检查,确保数据安全,但编译后会进行类型擦除。了解泛型的使用能帮助开发者编写更加灵活且安全的代码。

一.泛型

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

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

2.泛型的用法:泛型类,泛型接口,泛型方法(泛型就是对参数进行设置)

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

4.泛型限定:

(1)对泛型上限的限定:<? extends T>  实例化对象时参数只能是T的子类(表示该通配符所代表的类型是T类型的子类或者接口T的子接口)

(2)对泛型下限的限定:<? super T>      实例化对象时参数只能是T的父类(表示该通配符所代表的类型是T类型的父类或者父接口)

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

(1)只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。

(2)泛型方法与可变参数

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

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

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

public class GeneralClass<T> {

    private T t;
    public void add(T t){

      this.t=t;
    }
    public T get(){

      return t;
    }
  }

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

8.类型擦除:泛型只在编码阶段有效,编译完成后会将泛型擦除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值