栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

30-泛型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

30-泛型

1.泛型的概念

泛型是一种未知的数据类型,当我们不清楚使用什么数据类型时候可以使用泛型

E代表未知的数据类型    

创建集合对象的时候就能确定泛型额数据类型

比如 ArrayList list = new ArrayList<>();  泛型为字符串传递给E  E的位置都是字符串类型

2.使用泛型的好处

使用泛型的好处:
1.避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型不用转换了
2.把运行期异常(代码运行之后才抛出的异常)提升到了编译期
泛型弊端:泛型是什么类型,只能存储说明类型的数据

创建集合对象不使用泛型
好处:集合不使用泛型 默认类型是Object类型,可以存储任意类型的数据
弊端 不安全会引发异常

3.定义和使用含有泛型的类

<>  里面就是泛型

定义泛型的类
比较1.2不同  注意这里的GenericClass不是一定的这个名字  

1

 2

 

 注意看划线位置

 用这种方法  类中泛型为E  这样之后创建对象是什么类型  泛型就是什么类型更加方便使用了

4.定义和使用含有泛型的方法

定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间  <>这里面就是泛型
格式:
修饰符<泛型> 返回值类型 方法名(参数列表(使用泛型)){
方法体;

 psvm

5.定义和使用含有泛型的接口

接口类注意:要创建对象要先创建实现类 所以没有构造方法、

方法1

接口类 

实现类

 psvm

方法2 

接口类

 实现类

psvm

6.泛型通配符   

之前的是先定义后使用这里可以直接使用

泛型的通配符: 不知道使用什么类型来接受的时候,刺激可以使用?    ?表示未知的通配符

注意此时接收数据做参数传递但是不能往集合中存储数据

泛型的通配符:
?:代表任意的数据类型
使用方式:
不能创建对象使用,只能作为方法的参数使用

 7.泛型通配符    高级应用  -受限泛型  会看就行

泛型的上限限定:  ? extends E  代表使用的泛型只能是E类型的子类或本身    这里相当于继承嘛 ?是子类 E是父类
泛型的下限限定:  ? super E    代表使用的泛型只能是E类型的父类或本身    这里相当于继承嘛 E是子类 ?是父类
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309523.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号