泛型

泛型

只可以传入object类型 基本数据类型不可以

泛指任意的引用数据类型【就是使用的一种未知类型,具体在使用的时候进行确定】

泛型类

定义类

泛型

使用时可以传入任意类型

泛型方法

泛型

以下类推在使用数据类型 或者对象时都可以使用

泛型通配符得基本使用

泛型通配符:

泛型通配符作用:如果想让我们得参数可以接收任意类型得泛型,就可以借助泛型通配符实现。

==注意:泛型统配符定义得集合,不支持增删操作,只支持读取操作==

泛型

受限泛型 ?

泛型

限定通配符总是包括自己

上界类型通配符:add方法受限

下界类型通配符:get方法受限

如果你想从一个数据类型里获取数据,使用 ? extends 通配符

如果你想把对象写入一个数据结构里,使用 ? super 通配符

如果你既想存,又想取,那就别用通配符

不能同时声明泛型通配符上界和下界

** 泛型擦除**

java的泛型采用的是伪泛型,会在编译期处理为我们普通的方法和类,所以当我们编写一段带泛型的代码看似指定了类型其实并没有它还是一个object类型,处理机制是通过类型擦除,擦除规则:

若泛型类型没有指定具体类型,用Object作为原始类型; 若有限定类型< T exnteds XClass >,使用XClass作为原始类型; 若有多个限定< T exnteds XClass1 & XClass2 >,使用第一个边界类型XClass1作为原始类型;

如果有问题希望大家指出来!

本文由博客群发一文多发等运营工具平台 OpenWrite 发布