Java泛型类

发布时间:2026/10/7 12:19:30

Java泛型类
这段代码演示了 Java 的**泛型Generics**概念我来逐行解释 代码整体结构package com.example.demo; public class UserDemo { public static void main(String[] args) { GeneralTypeString gs new GeneralTypeString(abc); System.out.println(gs.getobject()); } } class GeneralTypeType { Type object; public GeneralType(Type object) { this.object object; } public Type getobject() { return object; } } 逐段解析第一部分泛型类定义GeneralTypeTypeclassGeneralTypeType{// Type 是类型参数Type 是占位符名字Typeobject;// 成员变量类型由外部传入决定publicGeneralType(Typeobject){// 构造方法接收一个 Type 类型的参数this.objectobject;// 赋值给成员变量}publicTypegetobject(){// 返回值类型也是 Typereturnobject;}}关键点Type只是一个占位符名字类型参数在创建对象时才确定具体类型。第二部分主方法使用泛型// String 表示将 Type 替换为 String传入 abcGeneralTypeStringgsnewGeneralTypeString(abc);// 调用 getobject()此时返回值类型就是 StringSystem.out.println(gs.getobject());// 输出: abc 泛型的核心思想Type相当于一个类型变量编译时确定具体类型使用方式Type被替换为object实际类型getobject()返回类型GeneralTypeStringStringStringStringGeneralTypeIntegerIntegerIntegerIntegerGeneralTypeDoubleDoubleDoubleDouble 为什么要用泛型不用泛型的写法用 ObjectclassGeneralType{Objectobject;publicObjectgetobject(){returnobject;}}// 使用时需要强制类型转换容易出错GeneralTypegsnewGeneralType(abc);Strings(String)gs.getobject();// ⚠️ 手动强转容易 ClassCastException用泛型的写法GeneralTypeStringgsnewGeneralTypeString(abc);Stringsgs.getobject();// ✅ 编译期保证类型安全无需强转 总结这段代码的执行流程定义了一个泛型类GeneralTypeType用Type作为类型占位符创建对象时指定String所以TypeString构造方法传入abc存储到object中调用getobject()返回abc打印输出泛型的好处代码复用 类型安全同一个类可以处理不同类型的数据同时避免了强制转换带来的运行时错误。

相关新闻

Appium WebView调试实战:微信小程序与混合应用测试指南

Appium WebView调试实战:微信小程序与混合应用测试指南

2026/9/9 17:23:35

1. WebView调试的核心挑战与Appium方案选型 在移动应用自动化测试领域,WebView调试一直是个令人头疼的问题。我经历过无数次在混合应用测试时,Native部分运行良好,一到WebView环节就各种报错的痛苦场景。特别是微信小程序这类基于WebView技术…

EPEL仓库安装配置与优化指南

EPEL仓库安装配置与优化指南

2026/9/8 16:23:54

1. EPEL仓库概述与核心价值EPEL(Extra Packages for Enterprise Linux)是专为RHEL及其衍生系统(如CentOS)设计的补充软件仓库。作为在运维一线摸爬滚打多年的老手,我深刻体会到这个仓库的价值——它就像给系统装上了&q…

专业的理想贴膜改装升级公司汽车贴膜标准及流程保圣威固 7V 不凡门店

专业的理想贴膜改装升级公司汽车贴膜标准及流程保圣威固 7V 不凡门店

2026/10/3 14:45:01

导语在汽车养护与个性化改装的领域,理想汽车的车主们往往在寻找一家专业靠谱的店铺。保圣威固 7V 不凡门店在此方面表现卓越。汽车贴膜既关乎车辆的外观美观,又涉及隔热、防护等实际功能。而专业的汽车贴膜是有严格的标准和流程的,合适的贴膜…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/10/6 23:38:49

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/10/5 16:54:26

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/10/7 2:07:10

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/10/5 21:04:58

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/10/7 9:52:55

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/10/6 21:46:12

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…