随笔 - 154  文章 - 0  评论 - 4  阅读 - 49544

容器 与 泛型 JDK容器与 自定义容器 见泛知容

容器 包装类 与 泛型  (JDK容器与 自定义容器,Optional类 由自定义 到 JDK官方)

集合容器中若存在多种类型,处理时会很麻烦,不知道拿出的是什么类型,容易出现错误

这个错误在编译期间无法被发现

但是   数组 String[]    在编译期间就会发现错误

集合参考数组,泛型来了,<参数类形T>  T类

泛型的好处是在编译的时候检查类型安全

 JDK泛型推断,由前推后

泛型类

 

 

 

 前提

泛型方法

方法重载  -->

泛型方法1

 

 

 泛型方法2--单独的 泛型方法  

 修饰符之后,返回值之前

 

 

方法重载 接收任意类型

 

 

泛型接口

常用第二种

 

 

 

 

常用的是 -- 以后才知道 -->  即泛型类

 

 

 

 

 

 高级泛型

 

 

 通配符

 

 

 用泛型,是为了方便以后拿出来用!

泛型是给编译期看的,源码还是add(E e)

泛型的约束是在编译时约束的,真正运行的 class 是没有泛型约束的。

class文件 没有泛型,

 

 

 泛型擦除

JVM并不知道泛型的存在,因为泛型在编译阶段就已经被处理成普通的类和方法;
处理机制是通过类型擦除,擦除规则:

若泛型类型没有指定具体类型,用Object作为原始类型;
若有限定类型< T exnteds XClass >,使用XClass作为原始类型;
若有多个限定< T exnteds XClass1 & XClass2 >,使用第一个边界类型XClass1作为原始类型;

 

反射   运行时 可以越过泛型检查  直接胡乱塞值

 

https://blog.csdn.net/weixin_43320847/article/details/82939786

 

posted on   daofree  阅读(38)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示