当前位置: 首页 > news >正文

[进阶]集合的进阶(1)泛型

文章目录

  • 泛型的深入
  • 泛型的细节
  • 泛型可以在很多地方定义
  • 泛型的继承和通配符
  • 总结

泛型的深入

泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查
泛型的格式:<数据类型>
注意:泛型只能引用数据类型
泛型的好处

  • 统一了数据类型
  • 把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,
    因为在编译阶段类型就能确定下来

扩展知识点:Java中的泛型是伪泛型

泛型的细节

  • 泛型中不能写基本数据类型
  • 指定泛型的具体类型之后,传递数据时,可以传入该类型或者其子类类型
  • 不过不写泛型默认object类型\

泛型可以在很多地方定义

  • 泛型类
  • 泛型方法
  • 泛型接口

泛型类
使用场景:当一个类中,某个变量的数据类型不确定时,就可以定义带有泛型的类
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
泛型方法
方法中形参类型不确定时,可以使用类名后面定义的泛型
在这里插入图片描述
方法中型参类型不确定时

  • 使用类名后面定义的 泛型 所有方法都能用
    在这里插入图片描述

  • 在方法申明上定义自己的泛型 只有本方法能用
    在这里插入图片描述
    泛型接口
    在这里插入图片描述
    在这里插入图片描述

实现类给出具体类型

在这里插入图片描述

实现类延续泛型,创建对象时在确定
在这里插入图片描述

泛型的继承和通配符

  • 泛型不具备继承性,但是数据具备继承性
    在这里插入图片描述

在这里插入图片描述
泛型的通配符

? 也表示不确定的类型他可以进行类型的限定
?extends E: 表示可以传递E或者E所有的子类类型
?super E: 表示可以传递E或者E所有的父类类型 I

总结

1.什么是泛型?

  • JDK5引入的特性,可以在编译阶段约束操作的数据类型,并进行检查

2.泛型的好处?

  • 统一数据类型
  • 把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为在编译阶段类型就能确定下来。

3.泛型的细节?

  • 泛型中不能写基本数据类型
  • 指定泛型的具体类型后,传递数据时,可以传入该类型和他的子类类型
  • 如果不写泛型,类型默认是0bject

http://www.mrgr.cn/news/64379.html

相关文章:

  • Linux-计算机网络-Libevent入门
  • node.js学习Day2
  • MySQL事务——针对实习面试
  • Unity Newtonsoft.Json 大对象序列化失败
  • 数据挖掘(四)
  • Row GCD
  • python NLTK快速入门
  • Uniapp打包发布App Store时(90894)错误
  • “七巨头”(The Magnificent 7)科技公司财报喜忧参半看AI
  • 解读JobScheduler的jobs.xml
  • 在centos中安装cmake
  • MySQL基础(三)
  • Java入门(5)--多线程编程
  • MybatisPlus入门(六)MybatisPlus-空值处理
  • AI GPU系统调试能力与实践
  • 浙江深大智能科技有限公司管控平台服务端存在任意文件上传漏洞
  • 【ROS2】文档、教程、源码汇总
  • 【MyBatis源码】CacheKey缓存键的原理分析
  • LeetCode 104.二叉树的最大深度
  • 1Panel安装部署FileCodeBox
  • 搜狗输入法 14.10.0 | 直装去弹窗广告特别修改版,支持同步
  • python之函数总结
  • 逼着自己深度思考
  • python对数据平滑处理
  • 线程的等待,分离,与异步获取执行结果
  • 线程的joinable属性,以及主线程出现异常时,对其等待应该进行的处理