一、泛型

泛型是jdk1.5之后的新特性,最大的好处是使用集合的时候更加安全,泛型指定了类型之后,在编译器就能知道是否插入了错误的对象。取出的时候也能够安全取出,不需要做类型转换。

List<String> list = new ArrayList<String>();

使用了List<T>指定了 容器中只能允许添加String类型的对象,如果你添加了一个Integer的对象,在编译期就会报错。

二、泛型擦除

泛型只是编译器的一个标识,在运行期间泛型的类型会被擦除,也就是说 List<String>.classList<Integer>.class是一种类型。并不能区分。它只在编译期区分,这个容器能够装什么。形象点说 容器相当于一个篮子,而泛型就是在篮子上贴上了一个 标签,当运行时期这个标签就会被去除,装有不同东西的篮子,在运行期都是可以看做是一样的了

三、符号 T、E、?代表的意思

  • T 表示一种特定的类型
  • E 也是一种类型的意思,只不过通常代表集合中的元素,
  • ? 这是一种无限的符号,代表任何类型都可以

泛型及当中的T、E、?分别代表什么意思相关推荐

  1. 泛型会让你的 Go 代码运行变慢

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 作者 | Vicent Marti 译者 | 核子可乐 策划 | 褚杏娟 Go 1.18 已经到来,很多人期盼已久的首个支持泛型实现的版本也就此落地. ...

  2. Java中的泛型与异常机制

    Java中的泛型与异常机制 ※泛型的使用 如果在使用集合时没有限定集合所保存的数据类型,则在代码运行期间容易会出现ClassCastException类转换的异常 通过设置泛型,可以在编译期间发生问题 ...

  3. Java中的泛型 --- Java 编程思想

    前言 ​ 我一直都认为泛型是程序语言设计中一个非常基础,重要的概念,Java 中的泛型到底是怎么样的,为什么会有泛型,泛型怎么发展出来的.通透理解泛型是学好基础里面中非常重要的.于是,我对<Ja ...

  4. Java泛型三:通配符详解extends super

    在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符. 通配符 与 ...

  5. 集合-1(Collection、迭代器、Collections、泛型)

    1. Collection Collection是整个集合框架的基础,作用只是提供维护一组对象的基本接口. 1.1 创建集合 父类引用指向子类对象 Collection<元素类型> 变量名 ...

  6. 最佳新秀Java(22)——再次了解泛型

    仿制药Java SE 1.5新功能.通用自然是参数化类型.即操作数据类型被指定为一个参数.这样的参数类型可以在课堂上使用.创建的接口和方法,他们被称为通用类..泛型方法. Java语言引入泛型的优点是 ...

  7. java 高级泛型_java泛型的高级应用

    展开全部 在上面的例子中,由于没有限制class GenericsFoo类型持有者T的范围,实际上这里32313133353236313431303231363533e59b9ee7ad9431333 ...

  8. 红橙Darren视频笔记 反射注解泛型简介

    1. 反射 作用:能够做一般做不到的事情,即获取私有方法 变量 构造方法 或者调用添加@hide的方法.比如XUtil的IOC( https://blog.csdn.net/u011109881/ar ...

  9. 看完这篇,终于知道自己会不会 C# 泛型了!

    作者 | 羽生结弦 责编 | 胡巍巍 在开发过程中,同一段代码处出现多次调用,并且会有不同的类型在使用,这种就叫做跨类型代码复用.一般情况下跨类型代码复用我们会用到如下两种方法: 1. 继承: 2. ...

最新文章

  1. 最近发现的一些Python写程序的小技巧
  2. Windows删除文件时显示找不到该项目
  3. 揭秘 SIGCOMM 20‘ 论文:阿里云网络洛神 VTrace 系统
  4. [转载] 全方位提升网站打开速度:前端、后端、新的技术
  5. uni-app的列表搜索框_微信怎么搜索小程序?小程序能有什么用?
  6. ZXing生成多种不同样式的二维码
  7. 【物理/数学】概念的理解 —— pivot、position
  8. 数据之路 - Python爬虫 - 免费代理
  9. java dbutil_Java:IO流,增删改查,配置文件,预处理后的DBUtils,含个人详细总结【诗书画唱】...
  10. VGA分辨率无法识别或错误通过添加自定义配置参数正确显示(Ubuntu/Windows)
  11. 关于microsoft html help workshop的一些草蛋问题
  12. LZW压缩算法(数据无损压缩)
  13. 靖哥哥教你如何搭建Mysql主从环境
  14. 联想显示器在用HDMI转DVI线显示时,屏幕显示不全的解决办法
  15. 微信发布的辟谣小程序
  16. PHP hypot,hypot - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  17. 中国雅虎——长在阿里巴巴脸上的青春痘
  18. SEO巧妙运用方法分享
  19. 操作系统指纹探测实验
  20. 《从两月失败职场经历看内部创业四大弊病》有感

热门文章

  1. 在Mac OS上搭建本地服务器
  2. 软件性能测试分析与调优实践之路---性能测试系列-java gc调优
  3. wifi中说的5G和我们通常说的5G是一回事吗
  4. 阿里巴巴编码规范解读(六、七)-工程结构及设计规约
  5. .NET工行E生活接入AES加密算法的吐槽-2018
  6. js中基本数据类型与引用数据类型使用的区别
  7. 货拉拉技术副总监陈永庭:基于公共云的技术稳定性保障实践
  8. 计算机音乐runfree,抖音RunFree歌曲歌词完整版 抖音RunFree歌曲MP3视频完整版
  9. C语言中输入一组正整数,以-1作为结束标记,统计输入正整数的个数,并计算其平均值。
  10. 使用CSS - mask 实现视频弹幕人物遮罩过滤