关于泛型的一点记忆

简介: 晚上和大家分享了关于架构的一些东西,多次提到Java,脑子里突然想起了关于泛型的一些记忆。泛型是程序设计语言的一种特性,主要是引入了类型参数这个概念。它是将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。

晚上和大家分享了关于架构的一些东西,多次提到Java,脑子里突然想起了关于泛型的一些记忆。

泛型是程序设计语言的一种特性,主要是引入了类型参数这个概念。它是将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。它允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。

泛型的定义主要有以下两种:

  • 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)
  • 在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(人们大多把这称作模板)

我学习Java的时候,JDK 1.4是主流版本,Java还没有泛型这个特性,当然,也没听说过泛型这个词,更加没有感觉到它的必要性。J2SE 5.0 (1.5.0) Tiger 发布于 2004年10月,才从此Java才有了泛型。

但可能就是因为这个东西,让我对Java产生了审美上的反感,同时也产生了一些由于思维方式改变带来的不安全感,放弃了主攻Java的念头。

各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Java中的泛型基本上是在编译器这个层次来实现的。Java在编译期间,所有的泛型信息都会被擦除,比如List和List类型,在编译后都会变成List类型(原始类型)。这也是Java的泛型被称为“伪泛型”的原因。

PHP里没有泛型,不过Hack里是有的。讲真,Hack的语言特性设计的非常不错。

目录
相关文章
|
存储 安全 Java
知识单元六 泛型与集合
知识单元六 泛型与集合
173 1
知识单元六 泛型与集合
|
19天前
|
存储 安全 JavaScript
Java泛型的一些细节
泛型的核心思想是将类型参数化,主要目的是提供类型安全和消除类型转换,使代码更加健壮和可读。泛型在编译阶段起作用,允许在定义类、接口、方法和属性时使用类型参数。泛型的优点包括集合中存储的元素类型统一,减少类型转换;缺点是集合中元素缺乏多样性。泛型的主要作用是确保数据安全和防止类型转换错误。常见的泛型通配符包括无界通配符 `<?>`、上界通配符 `<? extends T>` 和下界通配符 `<? super T>`,分别用于不同场景下的类型匹配。
|
2月前
|
Java
Java泛型分类
Java泛型分类
9 0
|
7月前
|
存储 缓存 前端开发
2623. 记忆函数
2623. 记忆函数
39 0
|
7月前
|
算法 前端开发 安全
深度思考:为什么需要泛型?
深度思考:为什么需要泛型?
49 0
|
7月前
|
存储 安全 Java
Java泛型:通俗易懂地解析泛型
Java泛型:通俗易懂地解析泛型
133 0
DHL
|
存储 算法 Java
90%人不懂的泛型局限性,泛型擦除,星投影
通过这篇文章你将学习 Kotlin 和 Java 泛型局限性、泛型擦除,泛型信息被擦除了之后,泛型信息保存到哪里,迷惑的通配符和星投影区别
DHL
203 0
90%人不懂的泛型局限性,泛型擦除,星投影
|
存储 Java 编译器
Java泛型学习
Java泛型学习
91 0
|
存储 Java 程序员
Java语法糖之泛型与类型擦除
Java语法糖之泛型与类型擦除
171 0
Java语法糖之泛型与类型擦除
|
Java 开发者
泛型(泛型问题引出)|学习笔记
快速学习 泛型(泛型问题引出)