泛型

简介: 泛型需求:定义一个集合存储一批字符串,然后把字符串的元素转换成大写好处:可以把运行时出现的问题,提前至编译时。避免了无畏的强制类型转换注意事项泛型中没有多态的概念左右两边的数据类型必须要一致或者只写一边的泛型推荐使...

泛型

需求:
定义一个集合存储一批字符串,然后把字符串的元素转换成大写

  • 好处:
    1. 可以把运行时出现的问题,提前至编译时。
    2. 避免了无畏的强制类型转换
  • 注意事项
    1. 泛型中没有多态的概念
    2. 左右两边的数据类型必须要一致
    3. 或者只写一边的泛型
  • 推荐使用

两边都写上同样数据类型的泛型

自定义的泛型:

可以理解为是一个数据类型的变量,或者是一个数据类型的占位符

  • 格式:
    修饰符 <声明自定义泛型> 返回值类型 函数名(形参列表)
  • 注意细节:
    1. 函数上自定义泛型的具体数据类型是在调用该函数的时候,传递实参数据的时候确定具体的数据类型的
    2. 泛型中是不能使用基本数据类型数据的,如果需要使用基本数据类型数据,那么就要使用基本数据类型对应的包装类型
      float-----> Float
      double----> Double
      char------> Character
      boolean---> Boolean
      byte------> Byte
      short-----> Short
      long------> Long```
      
    3. 自定义泛型使用的标识符可以自定义的,只要符合标识符的命名规则即可。但是一般自定义泛型使用的标识符都是单个大写字母(T E)

自定义泛型类:

  • 格式:
class 类名<T>{}
  • 泛型类要注意的事项:
    1. 类上声明的自定义泛型的具体数据类型是在使用该类创建对象的时候确定下来的
    2. 如果一个类已经声明了自定义泛型,该类在创建对象的时候没有指定自定义泛型的具体数据类型,那么则默认为Object数据类型
    3. 静态大方法不能使用类上声明的自定义泛型,如果需要使用自定义泛型就必须在自己的方法 上声明

泛型接口:

  • 定义格式:
interface 接口名 <声明自定义的泛型>{}
  • 注意的细节:
    1. 接口上自定义泛型的具体数据类型是实现该接口的时候确定的
    2. 如果一个接口已经自定义了泛型,那么在实现类的时候,没有指定自定义泛型的具体数据类型,那么默认为Object数据类型

泛型的上下限:

  • 需求1:

定义一个方法,可以接受任意类型的集合对象,接受的集合对象只能存储Integer以及Integer父类类型的数据

  • 需求2:

定义一个方法,可以接受任意类型的集合对象,接受的集合对象只能存储Number以及Number子类类型的数据

  • 泛型的通配符:?
需求1:
? super Integer (泛型的下限) 只能用于Integer或者是Integer的父类
需求2:
? extends Number (泛型的上限) 只能用于Number或者是Number的子类
相关文章
|
缓存 NoSQL 关系型数据库
(八)漫谈分布式之缓存篇:唠唠老生常谈的MySQL与Redis数据一致性问题!
本文来聊一个跟实际工作挂钩的老生常谈的问题:分布式系统中的缓存一致性。
523 11
|
10月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
2016 5
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
AI在医疗诊断中的应用与未来发展趋势分析
【10月更文挑战第9天】 本文深入探讨了人工智能(AI)在医疗诊断领域的现状及其应用,包括影像识别、临床数据处理及个性化治疗方案的制定。通过具体案例分析,展示了AI技术如何提高诊断准确性、缩短诊断时间,并减轻医生的工作负担。同时,本文还讨论了AI在医疗诊断中面临的伦理问题和法律障碍,以及解决这些问题的可能途径。最后,对AI在未来医疗行业中的发展潜力进行了展望,指出其在提升医疗服务质量和效率方面的巨大潜力。
896 2
|
机器学习/深度学习 人工智能 算法
dlib
【6月更文挑战第19天】
292 3
|
存储 NoSQL 关系型数据库
一篇文章带你搞懂非关系型数据库MongoDB
一篇文章带你搞懂非关系型数据库MongoDB
770 0
|
安全 数据处理 Android开发
安卓隐私权政策和Google Play规范更新
【4月更文挑战第14天】谷歌针对安卓平台的隐私权政策和Google Play规范进行重要更新,强化用户隐私保护和安全标准。新政策强调最小化数据收集,要求开发者明确告知用户敏感数据用途,并限制不必要的后台数据处理。Google Play规范更新要求应用详述数据收集方式,增加安全审查机制,确保无恶意代码。开发者面临调整,但有机会提升应用安全标准,赢得用户信任。用户数据安全得到提升,移动生态系统将更健康、可持续。
344 1
|
监控 负载均衡 安全
服务网格:优化微服务通信与保障系统安全性的架构利器
服务网格:优化微服务通信与保障系统安全性的架构利器
326 0
|
移动开发 前端开发 Java
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
2486 0
|
搜索推荐 关系型数据库 测试技术
PostgreSQL 全表 全字段 模糊查询的毫秒级高效实现 - 搜索引擎也颤抖了
标签 PostgreSQL , 分词 , 全文检索 , 全字段检索 , 任意字段检索 , 下拉框选择 , 搜索引擎 背景 在一些应用程序中,可能需要对表的所有字段进行检索,有些字段可能需要精准查询,有些字段可能需要模糊查询或全文检索。 比如一些前端页面下拉框的勾选和选择。 这种需求对于
15047 0
|
安全 关系型数据库 MySQL
LAMP平台服务简介、部署及应用
LAMP平台服务简介、部署及应用
725 0
LAMP平台服务简介、部署及应用